metacon 0.1.5 → 0.1.6

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/README.rdoc CHANGED
@@ -8,12 +8,12 @@ running/supervising, branching, aggregating, etc.)
8
8
  == Install
9
9
 
10
10
  Prerequisites:
11
- * git
12
- * curl
11
+ * git
12
+ * curl
13
13
 
14
14
  The overall tool can be installed as follows:
15
15
 
16
- $ bash < <(curl -s https://raw.github.com/josephwecker/metacon/master/shelp/metacon-installer.sh )
16
+ $ curl -sL http://bit.ly/metacon-inst -o /tmp/mi.sh && bash /tmp/mi.sh
17
17
 
18
18
  The library can be used from within a project with a separate:
19
19
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
data/bin/metacon CHANGED
@@ -11,7 +11,7 @@ if File.exists?(rvm_path)
11
11
  require 'shellwords'
12
12
  cmd = Shellwords.shellescape(
13
13
  File.join(File.dirname(Pathname.new(__FILE__).realpath.to_s), '.metacon_unwrapped'))
14
- full_cmd = '. "$HOME/.rvm/scripts/rvm" && rvm ruby-1.9.2@metacon exec ' + cmd + ' ' + ARGV.map{|a| Shellwords.shellescape(a)}.join(' ')
14
+ full_cmd = '/usr/bin/env bash -c \'source "$HOME/.rvm/scripts/rvm" && rvm ruby-1.9.2@metacon do ' + cmd + ' ' + ARGV.map{|a| Shellwords.shellescape(a)}.join(' ') + "'"
15
15
  exec full_cmd
16
16
  else
17
17
  $stderr.puts "RVM is required to run metacon. To finish installation of metacon please run metacon-installer"
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
data/metacon.gemspec CHANGED
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "metacon"
8
- s.version = "0.1.5"
8
+ s.version = "0.1.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Joseph Wecker"]
12
12
  s.date = "2011-10-21"
13
13
  s.description = "Tool with some similarities to puppet but specializing in fast development iteration and continuous deployment. Specifically initially for use with justin.tv / twitch.tv project clusters."
14
14
  s.email = "jwecker@justin.tv"
15
- s.executables = [".metacon_unwrapped", "metacon-installer", "metacon"]
15
+ s.executables = [".metacon_unwrapped", "metacon", "metacon-installer"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE.txt",
18
18
  "README.rdoc"
@@ -1,10 +1,27 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # TODO:
4
- # - install the metacon gem (in metacon's ruby+gemset)
5
- # - look at output to installation - find full path for .metacon_unwrapped
6
- # - make a 'metacon' bin or symlink one that wraps .metacon_unwrapped w/ rvm exec
3
+ cat <<EOF
4
+ metacon-installer
5
+ -----------------
6
+ This will perform the following actions, all of which can be pretty easily
7
+ undone if needed:
7
8
 
9
+ * Try to install rvm if it's not already installed
10
+ * Update rvm
11
+ * Install ruby 1.9.2 (or 1.9.3) safely isolated (by rvm)
12
+ from your system ruby
13
+ * Create the rvm gemset that metacon will run under and
14
+ install some gems into it
15
+ * Install into it the actual metacon gem
16
+ * Attempt to make a symlink for the gem's metacon binary
17
+ in /usr/local/bin to override rubygem's normal
18
+ executable handling and to make sure it's available no
19
+ matter what rvm gemset you happen to be in.
20
+
21
+ EOF
22
+
23
+ read -p "Continue (y/n)? "
24
+ [ "$REPLY" == "y" ] || exit 1
8
25
 
9
26
  set -e
10
27
 
@@ -19,6 +36,7 @@ fi
19
36
  [[ `git --version` ]] || ( echo "Metacon requires 'git' (git-core package if deb/ubu). Please install and retry." && exit 1 )
20
37
  [[ `curl --version` ]] || ( echo "Metaon requires 'curl'. Please install and retry." && exit 1 )
21
38
 
39
+ set +e
22
40
  if [[ ! `rvm version` ]]; then
23
41
  echo "RVM not found. Attempting to install."
24
42
  bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) || exit 2
@@ -26,10 +44,12 @@ if [[ ! `rvm version` ]]; then
26
44
  else
27
45
  echo "RVM found"
28
46
  INSTALLED_RVM=
47
+ source "$HOME/.rvm/scripts/rvm"
48
+ rvm get head
49
+ rvm reload
29
50
  fi
30
51
 
31
52
  source "$HOME/.rvm/scripts/rvm"
32
- set +e
33
53
  [[ `rvm use $MCON_RUBY_V` == *Using* ]] || ( rvm install $MCON_RUBY_V && rvm use $MCON_RUBY_V ) || exit 3
34
54
  rvm use $MCON_RUBY_V
35
55
  [[ `rvm use $MCON_RUBY_V; rvm gemset use metacon 2>&1` == *ERROR* ]] && ( ( rvm use $MCON_RUBY_V && rvm gemset create metacon && rvm gemset use metacon ) || exit 3 )
@@ -45,6 +65,7 @@ unlink $GEMOUT
45
65
  TMPGEMDIR=`rvm gemdir`
46
66
 
47
67
  set +e
68
+ echo "Trying to set up metacon binary in /usr/local/bin"
48
69
  rm -f /usr/local/bin/metacon &> /dev/null || sudo rm -f /usr/local/bin/metacon
49
70
  ln -s ${TMPGEMDIR}/gems/${DIRNAME}/bin/metacon /usr/local/bin/metacon &> /dev/null || \
50
71
  sudo ln -s ${TMPGEMDIR}/gems/${DIRNAME}/bin/metacon /usr/local/bin/metacon
metadata CHANGED
@@ -1,142 +1,106 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: metacon
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 5
10
- version: 0.1.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Joseph Wecker
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-10-21 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2011-10-21 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: god
16
+ requirement: &2153303960 !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
18
+ requirements:
24
19
  - - ~>
25
- - !ruby/object:Gem::Version
26
- hash: 51
27
- segments:
28
- - 0
29
- - 11
30
- - 0
20
+ - !ruby/object:Gem::Version
31
21
  version: 0.11.0
32
- name: god
33
- prerelease: false
34
22
  type: :runtime
35
- requirement: *id001
36
- - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ version_requirements: *2153303960
25
+ - !ruby/object:Gem::Dependency
26
+ name: highline
27
+ requirement: &2153303480 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
29
+ requirements:
40
30
  - - ~>
41
- - !ruby/object:Gem::Version
42
- hash: 11
43
- segments:
44
- - 1
45
- - 6
46
- - 2
31
+ - !ruby/object:Gem::Version
47
32
  version: 1.6.2
48
- name: highline
49
- prerelease: false
50
33
  type: :runtime
51
- requirement: *id002
52
- - !ruby/object:Gem::Dependency
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
62
- name: minitest
63
34
  prerelease: false
35
+ version_requirements: *2153303480
36
+ - !ruby/object:Gem::Dependency
37
+ name: minitest
38
+ requirement: &2153303000 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
64
44
  type: :development
65
- requirement: *id003
66
- - !ruby/object:Gem::Dependency
67
- version_requirements: &id004 !ruby/object:Gem::Requirement
45
+ prerelease: false
46
+ version_requirements: *2153303000
47
+ - !ruby/object:Gem::Dependency
48
+ name: yard
49
+ requirement: &2153302520 !ruby/object:Gem::Requirement
68
50
  none: false
69
- requirements:
51
+ requirements:
70
52
  - - ~>
71
- - !ruby/object:Gem::Version
72
- hash: 7
73
- segments:
74
- - 0
75
- - 6
76
- - 0
53
+ - !ruby/object:Gem::Version
77
54
  version: 0.6.0
78
- name: yard
79
- prerelease: false
80
55
  type: :development
81
- requirement: *id004
82
- - !ruby/object:Gem::Dependency
83
- version_requirements: &id005 !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ version_requirements: *2153302520
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &2153302040 !ruby/object:Gem::Requirement
84
61
  none: false
85
- requirements:
62
+ requirements:
86
63
  - - ~>
87
- - !ruby/object:Gem::Version
88
- hash: 23
89
- segments:
90
- - 1
91
- - 0
92
- - 0
64
+ - !ruby/object:Gem::Version
93
65
  version: 1.0.0
94
- name: bundler
95
- prerelease: false
96
66
  type: :development
97
- requirement: *id005
98
- - !ruby/object:Gem::Dependency
99
- version_requirements: &id006 !ruby/object:Gem::Requirement
67
+ prerelease: false
68
+ version_requirements: *2153302040
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: &2153301560 !ruby/object:Gem::Requirement
100
72
  none: false
101
- requirements:
73
+ requirements:
102
74
  - - ~>
103
- - !ruby/object:Gem::Version
104
- hash: 7
105
- segments:
106
- - 1
107
- - 6
108
- - 4
75
+ - !ruby/object:Gem::Version
109
76
  version: 1.6.4
110
- name: jeweler
111
- prerelease: false
112
77
  type: :development
113
- requirement: *id006
114
- - !ruby/object:Gem::Dependency
115
- version_requirements: &id007 !ruby/object:Gem::Requirement
116
- none: false
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- hash: 3
121
- segments:
122
- - 0
123
- version: "0"
124
- name: rcov
125
78
  prerelease: false
79
+ version_requirements: *2153301560
80
+ - !ruby/object:Gem::Dependency
81
+ name: rcov
82
+ requirement: &2153301080 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
126
88
  type: :development
127
- requirement: *id007
128
- description: Tool with some similarities to puppet but specializing in fast development iteration and continuous deployment. Specifically initially for use with justin.tv / twitch.tv project clusters.
89
+ prerelease: false
90
+ version_requirements: *2153301080
91
+ description: Tool with some similarities to puppet but specializing in fast development
92
+ iteration and continuous deployment. Specifically initially for use with justin.tv
93
+ / twitch.tv project clusters.
129
94
  email: jwecker@justin.tv
130
- executables:
95
+ executables:
131
96
  - .metacon_unwrapped
132
- - metacon-installer
133
97
  - metacon
98
+ - metacon-installer
134
99
  extensions: []
135
-
136
- extra_rdoc_files:
100
+ extra_rdoc_files:
137
101
  - LICENSE.txt
138
102
  - README.rdoc
139
- files:
103
+ files:
140
104
  - .attic/metacon-install
141
105
  - .attic/old/.cmd_common
142
106
  - .attic/old/Gemfile
@@ -184,33 +148,29 @@ files:
184
148
  - test/helper.rb
185
149
  - test/test_metacon.rb
186
150
  homepage: http://github.com/josephwecker/metacon
187
- licenses:
151
+ licenses:
188
152
  - MIT
189
- post_install_message: "\n\n\
190
- \e[1;32m\e[40m--- You may need to run \e[1;37mmetacon-installer\e[1;32m to check dependencies & finish the installation --- \e[0m\n\n"
153
+ post_install_message: ! "\n\n\e[1;32m\e[40m--- You may need to run \e[1;37mmetacon-installer\e[1;32m
154
+ to check dependencies & finish the installation --- \e[0m\n\n"
191
155
  rdoc_options: []
192
-
193
- require_paths:
156
+ require_paths:
194
157
  - lib
195
- required_ruby_version: !ruby/object:Gem::Requirement
158
+ required_ruby_version: !ruby/object:Gem::Requirement
196
159
  none: false
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- hash: 3
201
- segments:
160
+ requirements:
161
+ - - ! '>='
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ segments:
202
165
  - 0
203
- version: "0"
204
- required_rubygems_version: !ruby/object:Gem::Requirement
166
+ hash: 290890116643417385
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
205
168
  none: false
206
- requirements:
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- hash: 3
210
- segments:
211
- - 0
212
- version: "0"
213
- requirements:
169
+ requirements:
170
+ - - ! '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ requirements:
214
174
  - git, v1.7.4.1 or greater
215
175
  - rvm, v1.8.2 or greater
216
176
  - pythonbrew, v1.1 or greater
@@ -220,4 +180,3 @@ signing_key:
220
180
  specification_version: 3
221
181
  summary: Metacontroller for organizing aggregate projects
222
182
  test_files: []
223
-