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 +3 -3
- data/VERSION +1 -1
- data/bin/metacon +1 -1
- data/lib/VERSION +1 -1
- data/metacon.gemspec +2 -2
- data/shelp/metacon-installer.sh +26 -5
- metadata +83 -124
data/README.rdoc
CHANGED
@@ -8,12 +8,12 @@ running/supervising, branching, aggregating, etc.)
|
|
8
8
|
== Install
|
9
9
|
|
10
10
|
Prerequisites:
|
11
|
-
|
12
|
-
|
11
|
+
* git
|
12
|
+
* curl
|
13
13
|
|
14
14
|
The overall tool can be installed as follows:
|
15
15
|
|
16
|
-
$
|
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.
|
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 = '
|
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.
|
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.
|
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
|
15
|
+
s.executables = [".metacon_unwrapped", "metacon", "metacon-installer"]
|
16
16
|
s.extra_rdoc_files = [
|
17
17
|
"LICENSE.txt",
|
18
18
|
"README.rdoc"
|
data/shelp/metacon-installer.sh
CHANGED
@@ -1,10 +1,27 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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
|
-
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
36
|
-
|
37
|
-
|
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
|
-
|
66
|
-
|
67
|
-
|
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
|
-
|
82
|
-
|
83
|
-
|
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
|
-
|
98
|
-
|
99
|
-
|
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
|
-
|
128
|
-
|
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
|
-
|
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
|
-
|
201
|
-
segments:
|
160
|
+
requirements:
|
161
|
+
- - ! '>='
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
segments:
|
202
165
|
- 0
|
203
|
-
|
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
|
-
|
210
|
-
|
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
|
-
|