csd 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/bin/csd +3 -1
- data/csd.gemspec +3 -1
- data/lib/apps/minisip.rb +47 -0
- data/lib/csd/installer.rb +12 -1
- data/lib/csd/loader.rb +22 -4
- data/lib/csd/shared.rb +26 -0
- metadata +4 -2
data/Rakefile
CHANGED
@@ -11,6 +11,7 @@ begin
|
|
11
11
|
gemspec.homepage = "http://github.com/csd/csd"
|
12
12
|
gemspec.authors = ["Technology Transfer Alliance Team"]
|
13
13
|
gemspec.add_dependency "term-ansicolor", ">= 0"
|
14
|
+
gemspec.executables = ["csd"]
|
14
15
|
end
|
15
16
|
rescue LoadError
|
16
17
|
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/bin/csd
CHANGED
data/csd.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{csd}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Technology Transfer Alliance Team"]
|
@@ -27,9 +27,11 @@ Gem::Specification.new do |s|
|
|
27
27
|
"VERSION",
|
28
28
|
"bin/csd",
|
29
29
|
"csd.gemspec",
|
30
|
+
"lib/apps/minisip.rb",
|
30
31
|
"lib/csd.rb",
|
31
32
|
"lib/csd/installer.rb",
|
32
33
|
"lib/csd/loader.rb",
|
34
|
+
"lib/csd/shared.rb",
|
33
35
|
"test/helper.rb",
|
34
36
|
"test/test_csd.rb"
|
35
37
|
]
|
data/lib/apps/minisip.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
module CSD
|
2
|
+
class Minisip
|
3
|
+
|
4
|
+
include Shared
|
5
|
+
|
6
|
+
def initialize(options={})
|
7
|
+
@options = options[:options]
|
8
|
+
|
9
|
+
unless Gem::Platform.local.os == 'linux'
|
10
|
+
puts "Sorry, Linux only at the moment"
|
11
|
+
exit 1
|
12
|
+
end
|
13
|
+
|
14
|
+
unless File.directory?('minisip')
|
15
|
+
log "Creating directory minisip"
|
16
|
+
Dir.mkdir('minisip')
|
17
|
+
end
|
18
|
+
|
19
|
+
Dir.chdir('minisip')
|
20
|
+
root_dir = Dir.pwd
|
21
|
+
|
22
|
+
['git-core', 'automake', 'libssl-dev', 'libtool', 'libglademm-2.4-dev'].each do |apt|
|
23
|
+
run_command("sudo apt-get install #{apt}")
|
24
|
+
end
|
25
|
+
|
26
|
+
unless File.directory?('trunk')
|
27
|
+
log "Checking out minisip trunk"
|
28
|
+
checkout_trunk
|
29
|
+
end
|
30
|
+
|
31
|
+
run_command "sudo echo /usr/local/share/aclocal >> /usr/share/aclocal/dirlist"
|
32
|
+
|
33
|
+
['libmutil', 'libmnetutil', 'libmcrypto', 'libmikey', 'libmsip', 'libmstun', 'libminisip'].each do |lib|
|
34
|
+
Dir.chdir File.join(root_dir, 'trunk', lib)
|
35
|
+
log "Going through #{Dir.pwd}"
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
def checkout_trunk
|
41
|
+
run_command("git clone http://github.com/csd/minisip")
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
end
|
data/lib/csd/installer.rb
CHANGED
@@ -1,8 +1,19 @@
|
|
1
1
|
module CSD
|
2
2
|
class Installer
|
3
3
|
|
4
|
-
def initialize(
|
4
|
+
def initialize(options={})
|
5
|
+
@options = options[:options]
|
6
|
+
@actions = options[:actions]
|
5
7
|
|
8
|
+
case @actions.first
|
9
|
+
when 'minisip'
|
10
|
+
Minisip.new :options => @options
|
11
|
+
else
|
12
|
+
p "Unknown application: #{@actions.first}"
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
self
|
6
17
|
end
|
7
18
|
|
8
19
|
|
data/lib/csd/loader.rb
CHANGED
@@ -1,11 +1,18 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'shared')
|
1
2
|
require File.join(File.dirname(__FILE__), 'installer')
|
3
|
+
require File.join(File.dirname(__FILE__), '..', 'apps', 'minisip')
|
4
|
+
|
2
5
|
require 'optparse'
|
6
|
+
require 'term/ansicolor'
|
3
7
|
|
4
8
|
module CSD
|
5
9
|
class Loader
|
6
10
|
|
11
|
+
include Gem::UserInteraction
|
12
|
+
|
7
13
|
def initialize
|
8
14
|
@options = {}
|
15
|
+
@actions = ARGV
|
9
16
|
OptionParser.new do |opts|
|
10
17
|
opts.banner = "Usage: csd [options]"
|
11
18
|
opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
|
@@ -13,17 +20,28 @@ module CSD
|
|
13
20
|
end
|
14
21
|
end.parse!
|
15
22
|
|
16
|
-
|
23
|
+
introduction
|
24
|
+
|
25
|
+
case @actions.shift
|
17
26
|
when 'install'
|
18
|
-
|
27
|
+
Installer.new :options => @options, :actions => @actions
|
19
28
|
else
|
20
29
|
puts 'Run csd -h to get help.'
|
21
30
|
end
|
22
31
|
self
|
23
32
|
end
|
24
33
|
|
25
|
-
|
26
|
-
|
34
|
+
def introduction
|
35
|
+
puts
|
36
|
+
puts "The current working directory is:"
|
37
|
+
puts Dir.pwd
|
38
|
+
puts
|
39
|
+
exit unless ask_yes_no("Continue?", true)
|
40
|
+
end
|
27
41
|
|
28
42
|
end
|
43
|
+
end
|
44
|
+
|
45
|
+
class String
|
46
|
+
include Term::ANSIColor
|
29
47
|
end
|
data/lib/csd/shared.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'term/ansicolor'
|
2
|
+
require 'rbconfig'
|
3
|
+
|
4
|
+
module CSD
|
5
|
+
module Shared
|
6
|
+
|
7
|
+
include Term::ANSIColor
|
8
|
+
|
9
|
+
def run_command(cmd)
|
10
|
+
log "Running command: #{cmd}".green.bold
|
11
|
+
ret = ''
|
12
|
+
IO.popen(cmd) do |stdout|
|
13
|
+
stdout.each do |line|
|
14
|
+
log line
|
15
|
+
ret << line
|
16
|
+
end
|
17
|
+
end
|
18
|
+
ret
|
19
|
+
end
|
20
|
+
|
21
|
+
def log(msg)
|
22
|
+
puts msg if @options[:verbose]
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Technology Transfer Alliance Team
|
@@ -47,9 +47,11 @@ files:
|
|
47
47
|
- VERSION
|
48
48
|
- bin/csd
|
49
49
|
- csd.gemspec
|
50
|
+
- lib/apps/minisip.rb
|
50
51
|
- lib/csd.rb
|
51
52
|
- lib/csd/installer.rb
|
52
53
|
- lib/csd/loader.rb
|
54
|
+
- lib/csd/shared.rb
|
53
55
|
- test/helper.rb
|
54
56
|
- test/test_csd.rb
|
55
57
|
has_rdoc: true
|