spatula 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/spatula.rb +2 -1
- data/lib/spatula/prepare.rb +16 -7
- data/lib/spatula/ssh_command.rb +2 -1
- metadata +6 -6
data/lib/spatula.rb
CHANGED
@@ -50,8 +50,9 @@ module Spatula
|
|
50
50
|
method_options :identity => nil
|
51
51
|
method_options :upload_key => nil
|
52
52
|
method_options :keyfile => :string
|
53
|
+
method_options :ruby_version => :string
|
53
54
|
def prepare(server)
|
54
|
-
Prepare.run(server, options[:port], options[:login], options[:identity], options[:upload_key], options[:keyfile])
|
55
|
+
Prepare.run(server, options[:port], options[:login], options[:identity], options[:upload_key], options[:keyfile], options[:ruby_version])
|
55
56
|
end
|
56
57
|
|
57
58
|
private
|
data/lib/spatula/prepare.rb
CHANGED
@@ -3,7 +3,7 @@ module Spatula
|
|
3
3
|
class Prepare < SshCommand
|
4
4
|
|
5
5
|
RUBYGEMS_VERSION = "1.6.2"
|
6
|
-
|
6
|
+
DEFAULT_RUBY_VERSION = "1.9.2-p180"
|
7
7
|
|
8
8
|
def run
|
9
9
|
|
@@ -49,18 +49,27 @@ module Spatula
|
|
49
49
|
|
50
50
|
def run_for_fedora
|
51
51
|
sudo = ssh('which sudo > /dev/null 2>&1') ? 'sudo' : ''
|
52
|
-
ssh "#{sudo} yum install -y make gcc rsync sudo openssl-devel rubygems ruby-devel ruby-shadow curl"
|
52
|
+
ssh "#{sudo} yum install -y make gcc gcc-c++ rsync sudo openssl-devel rubygems ruby-devel ruby-shadow curl"
|
53
53
|
end
|
54
54
|
|
55
55
|
def run_for_centos
|
56
|
-
ssh "#{sudo} yum install -y make gcc rsync sudo openssl-devel curl"
|
57
|
-
|
56
|
+
ssh "#{sudo} yum install -y make gcc gcc-c++ rsync sudo openssl-devel curl"
|
57
|
+
install_ruby
|
58
58
|
install_chef
|
59
59
|
end
|
60
60
|
|
61
|
-
def
|
62
|
-
|
63
|
-
|
61
|
+
def ruby_version
|
62
|
+
@ruby_version || DEFAULT_RUBY_VERSION
|
63
|
+
end
|
64
|
+
|
65
|
+
def ruby_path
|
66
|
+
rev = ruby_version.match(/^(\d+\.\d+)/)[1]
|
67
|
+
"#{rev}/ruby-#{ruby_version}.tar.gz"
|
68
|
+
end
|
69
|
+
|
70
|
+
def install_ruby
|
71
|
+
ssh "curl -L 'ftp://ftp.ruby-lang.org/pub/ruby/#{ruby_path}' | tar xvzf -"
|
72
|
+
ssh "cd ruby-#{ruby_version} && ./configure && make && #{sudo} make install"
|
64
73
|
end
|
65
74
|
|
66
75
|
def install_rubygems
|
data/lib/spatula/ssh_command.rb
CHANGED
@@ -4,7 +4,7 @@ module Spatula
|
|
4
4
|
new(*args).run
|
5
5
|
end
|
6
6
|
|
7
|
-
def initialize(server, port=nil, login=nil, identity=nil, upload_key=nil, key_file=nil)
|
7
|
+
def initialize(server, port=nil, login=nil, identity=nil, upload_key=nil, key_file=nil, ruby_version=nil)
|
8
8
|
@server = server
|
9
9
|
@port = port
|
10
10
|
@port_switch = port ? " -p #{port}" : ''
|
@@ -12,6 +12,7 @@ module Spatula
|
|
12
12
|
@identity_switch = identity ? %Q|-i "#{identity}"| : ''
|
13
13
|
@upload_key = upload_key
|
14
14
|
@key_file = key_file
|
15
|
+
@ruby_version = ruby_version
|
15
16
|
end
|
16
17
|
|
17
18
|
def ssh(command)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spatula
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-05-
|
12
|
+
date: 2011-05-16 00:00:00.000000000 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thor
|
17
|
-
requirement: &
|
17
|
+
requirement: &2157008840 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 0.13.4
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2157008840
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: json
|
28
|
-
requirement: &
|
28
|
+
requirement: &2157008240 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: 1.2.4
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2157008240
|
37
37
|
description: ! " Spatula is a command line helper app for use with Chef. It currently
|
38
38
|
lets you\n search and install cookbooks from http://cookbooks.opscode.com.\n"
|
39
39
|
email: cashion@gmail.com
|