sprinkle 0.3.6 → 0.4.0
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/VERSION +1 -1
- data/lib/sprinkle/installers/group.rb +15 -0
- data/lib/sprinkle/installers/runner.rb +2 -2
- data/lib/sprinkle/installers/user.rb +2 -2
- data/lib/sprinkle/package.rb +8 -4
- data/lib/sprinkle/verifiers/file.rb +1 -1
- data/lib/sprinkle/verifiers/ruby.rb +4 -4
- data/lib/sprinkle/verifiers/users_groups.rb +33 -0
- data/spec/spec_helper.rb +2 -2
- data/spec/sprinkle/configurable_spec.rb +1 -0
- data/spec/sprinkle/package_spec.rb +58 -30
- data/spec/sprinkle/verify_spec.rb +29 -1
- data/sprinkle.gemspec +4 -5
- metadata +7 -8
- data/lib/sprinkle/installers/noop.rb +0 -20
- data/lib/sprinkle/verifiers/user.rb +0 -15
- data/spec/sprinkle/installers/noop_spec.rb +0 -23
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Sprinkle
|
2
|
+
module Installers
|
3
|
+
class Group < Installer
|
4
|
+
def initialize(package, groupname, options, &block)
|
5
|
+
super package, &block
|
6
|
+
@groupname = groupname
|
7
|
+
@options = options
|
8
|
+
end
|
9
|
+
protected
|
10
|
+
def install_commands
|
11
|
+
"addgroup #{@options[:flags]} #{@groupname}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/sprinkle/package.rb
CHANGED
@@ -122,7 +122,11 @@ module Sprinkle
|
|
122
122
|
self.instance_eval &block
|
123
123
|
end
|
124
124
|
def add_user(username, options={}, &block)
|
125
|
-
@installers<<Sprinkle::Installers::User.new(self, username, options, &block)
|
125
|
+
@installers << Sprinkle::Installers::User.new(self, username, options, &block)
|
126
|
+
end
|
127
|
+
|
128
|
+
def add_group(group, options={}, &block)
|
129
|
+
@installers << Sprinkle::Installers::Group.new(self, group, options, &block)
|
126
130
|
end
|
127
131
|
|
128
132
|
def freebsd_pkg(*names, &block)
|
@@ -192,7 +196,7 @@ module Sprinkle
|
|
192
196
|
end
|
193
197
|
|
194
198
|
def noop(&block)
|
195
|
-
@installers << Sprinkle::Installers::
|
199
|
+
@installers << Sprinkle::Installers::Runner.new(self, "echo noop", &block)
|
196
200
|
end
|
197
201
|
|
198
202
|
def push_text(text, path, options = {}, &block)
|
@@ -207,8 +211,8 @@ module Sprinkle
|
|
207
211
|
@installers << Sprinkle::Installers::Transfer.new(self, source, destination, options, &block)
|
208
212
|
end
|
209
213
|
|
210
|
-
def runner(cmd)
|
211
|
-
@installers << Sprinkle::Installers::Runner.new(self, cmd)
|
214
|
+
def runner(cmd, &block)
|
215
|
+
@installers << Sprinkle::Installers::Runner.new(self, cmd, &block)
|
212
216
|
end
|
213
217
|
|
214
218
|
def verify(description = '', &block)
|
@@ -22,7 +22,7 @@ module Sprinkle
|
|
22
22
|
@commands << "grep '#{text}' #{path}"
|
23
23
|
end
|
24
24
|
def user_present(username)
|
25
|
-
|
25
|
+
has_user username
|
26
26
|
end
|
27
27
|
def matches_local(localfile, remotefile, mode=nil)
|
28
28
|
raise "Couldn't find local file #{localfile}" unless ::File.exists?(localfile)
|
@@ -15,10 +15,10 @@ module Sprinkle
|
|
15
15
|
@commands << "ruby -e \"#{files.join(';')}\""
|
16
16
|
end
|
17
17
|
|
18
|
-
# Checks if a gem exists by calling "
|
19
|
-
def has_gem(name, version=nil)
|
20
|
-
version = version
|
21
|
-
@commands << "
|
18
|
+
# Checks if a gem exists by calling "gem list" and grepping against it.
|
19
|
+
def has_gem(name, version = nil)
|
20
|
+
version = version ? "--version '#{version}'" : ''
|
21
|
+
@commands << "gem list '#{name}' --installed #{version} > /dev/null"
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Sprinkle
|
2
|
+
module Verifiers
|
3
|
+
# = Users and groups Verifier
|
4
|
+
#
|
5
|
+
# Tests for the existance of users and groups.
|
6
|
+
#
|
7
|
+
# == Example Usage
|
8
|
+
#
|
9
|
+
# verify do
|
10
|
+
# has_user 'ntp'
|
11
|
+
# has_user 'noone', :in_group => 'nobody'
|
12
|
+
# has_group 'nobody'
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
module UsersGroups
|
16
|
+
Sprinkle::Verify.register(Sprinkle::Verifiers::UsersGroups)
|
17
|
+
|
18
|
+
# Tests that the user exists
|
19
|
+
def has_user(user, opts = {})
|
20
|
+
if opts[:in_group]
|
21
|
+
@commands << "id -G #{user} | xargs -n1 echo | grep #{opts[:in_group]}"
|
22
|
+
else
|
23
|
+
@commands << "id #{user}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# Tests that the group exists
|
28
|
+
def has_group(group)
|
29
|
+
@commands << "id -g #{group}"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
2
2
|
require 'sprinkle'
|
3
3
|
|
4
|
-
|
4
|
+
class Object
|
5
5
|
def logger
|
6
6
|
@@__log_file__ ||= StringIO.new
|
7
|
-
@@__log__ = ActiveSupport::BufferedLogger.new @@__log_file__
|
7
|
+
@@__log__ = ActiveSupport::BufferedLogger.new @@__log_file__, ActiveSupport::BufferedLogger::Severity::INFO
|
8
8
|
end
|
9
9
|
end
|
@@ -11,6 +11,7 @@ describe Sprinkle::Configurable do
|
|
11
11
|
@configurable = MyPrefix::Configurable.new
|
12
12
|
@default = Proc.new { }
|
13
13
|
@defaults = { :configurable => @default }
|
14
|
+
@deployment = Object.new
|
14
15
|
@deployment.stub!(:defaults).and_return(@defaults)
|
15
16
|
@deployment.stub!(:style)
|
16
17
|
end
|
@@ -8,7 +8,7 @@ describe Sprinkle::Package do
|
|
8
8
|
@empty = Proc.new { }
|
9
9
|
@opts = { }
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
# Kind of a messy way to do this but it works and DRYs out
|
13
13
|
# the specs. Checks to make sure an installer is receiving
|
14
14
|
# the block passed to it throught the package block.
|
@@ -21,12 +21,12 @@ describe Sprinkle::Package do
|
|
21
21
|
pre :install, 'preOp'
|
22
22
|
end
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
pre_count = pkg.installers.first.instance_variable_get(:@pre)[:install].length
|
26
26
|
}.should change { pre_count }.by(1)
|
27
27
|
CODE
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
# More of Mitchell's meta-programming to dry up specs.
|
31
31
|
def create_package_with_blank_verify(n = 1)
|
32
32
|
eval(<<CODE)
|
@@ -142,6 +142,26 @@ CODE
|
|
142
142
|
pkg.installers.first.class.should == Sprinkle::Installers::Gem
|
143
143
|
end
|
144
144
|
|
145
|
+
it 'should optionally accept a noop installer' do
|
146
|
+
pkg = package @name do
|
147
|
+
noop do
|
148
|
+
end
|
149
|
+
end
|
150
|
+
pkg.should respond_to(:noop)
|
151
|
+
pkg.installers.first.class.should == Sprinkle::Installers::Runner
|
152
|
+
@installer = pkg.installers.first
|
153
|
+
@install_commands = @installer.send :install_commands
|
154
|
+
@install_commands.should == 'echo noop'
|
155
|
+
end
|
156
|
+
|
157
|
+
it 'should optionally accept an group installer' do
|
158
|
+
pkg = package @name do
|
159
|
+
add_group 'bob'
|
160
|
+
end
|
161
|
+
pkg.should respond_to(:add_group)
|
162
|
+
pkg.installers.first.class.should == Sprinkle::Installers::Group
|
163
|
+
end
|
164
|
+
|
145
165
|
it 'should optionally accept a source installer' do
|
146
166
|
pkg = package @name do
|
147
167
|
source 'archive'
|
@@ -150,6 +170,14 @@ CODE
|
|
150
170
|
pkg.installers.first.class.should == Sprinkle::Installers::Source
|
151
171
|
end
|
152
172
|
|
173
|
+
it 'should optionally accept an user installer' do
|
174
|
+
pkg = package @name do
|
175
|
+
add_user 'bob'
|
176
|
+
end
|
177
|
+
pkg.should respond_to(:add_user)
|
178
|
+
pkg.installers.first.class.should == Sprinkle::Installers::User
|
179
|
+
end
|
180
|
+
|
153
181
|
it 'should allow multiple installer steps to be defined and respect order' do
|
154
182
|
pkg = package @name do
|
155
183
|
source 'archive'
|
@@ -179,7 +207,7 @@ CODE
|
|
179
207
|
pkg.should respond_to(:source)
|
180
208
|
pkg.installers.first.class.should == Sprinkle::Installers::Source
|
181
209
|
end
|
182
|
-
|
210
|
+
|
183
211
|
it 'should forward block to installer superclass' do
|
184
212
|
check_block_forwarding_on(:source)
|
185
213
|
end
|
@@ -192,13 +220,13 @@ CODE
|
|
192
220
|
end
|
193
221
|
|
194
222
|
end
|
195
|
-
|
223
|
+
|
196
224
|
describe 'with an apt installer' do
|
197
225
|
it 'should forward block to installer superclass' do
|
198
226
|
check_block_forwarding_on(:apt)
|
199
227
|
end
|
200
228
|
end
|
201
|
-
|
229
|
+
|
202
230
|
describe 'with an rpm installer' do
|
203
231
|
it 'should forward block to installer superclass' do
|
204
232
|
check_block_forwarding_on(:rpm)
|
@@ -213,7 +241,7 @@ CODE
|
|
213
241
|
end
|
214
242
|
pkg.recommends.should include(:rubygems)
|
215
243
|
end
|
216
|
-
|
244
|
+
|
217
245
|
it 'should forward block to installer superclass' do
|
218
246
|
check_block_forwarding_on(:gem)
|
219
247
|
end
|
@@ -256,7 +284,7 @@ CODE
|
|
256
284
|
end
|
257
285
|
|
258
286
|
end
|
259
|
-
|
287
|
+
|
260
288
|
describe 'with verifications' do
|
261
289
|
before do
|
262
290
|
@pkg = create_package_with_blank_verify(3)
|
@@ -264,47 +292,47 @@ CODE
|
|
264
292
|
@installer.stub!(:defaults)
|
265
293
|
@installer.stub!(:process)
|
266
294
|
end
|
267
|
-
|
295
|
+
|
268
296
|
describe 'with forcing' do
|
269
297
|
before do
|
270
298
|
# Being explicit
|
271
299
|
Sprinkle::OPTIONS[:force] = true
|
272
300
|
end
|
273
|
-
|
301
|
+
|
274
302
|
it 'should process verifications only once' do
|
275
303
|
@pkg.should_receive(:process_verifications).once
|
276
304
|
@pkg.process(@deployment, @roles)
|
277
305
|
end
|
278
|
-
|
306
|
+
|
279
307
|
after do
|
280
308
|
# Being explicit
|
281
309
|
Sprinkle::OPTIONS[:force] = false
|
282
310
|
end
|
283
311
|
end
|
284
|
-
|
312
|
+
|
285
313
|
describe 'without forcing' do
|
286
314
|
before do
|
287
315
|
# Being explicit
|
288
316
|
Sprinkle::OPTIONS[:force] = false
|
289
317
|
end
|
290
|
-
|
318
|
+
|
291
319
|
it 'should process verifications twice' do
|
292
320
|
@pkg.should_receive(:process_verifications).once.with(@deployment, @roles, true).and_raise(Sprinkle::VerificationFailed.new(@pkg, ''))
|
293
321
|
@pkg.should_receive(:process_verifications).once.with(@deployment, @roles).and_raise(Sprinkle::VerificationFailed.new(@pkg, ''))
|
294
322
|
end
|
295
|
-
|
323
|
+
|
296
324
|
it 'should continue with installation if pre-verification fails' do
|
297
325
|
@pkg.should_receive(:process_verifications).twice.and_raise(Sprinkle::VerificationFailed.new(@pkg, ''))
|
298
326
|
@installer.should_receive(:defaults)
|
299
327
|
@installer.should_receive(:process)
|
300
328
|
end
|
301
|
-
|
329
|
+
|
302
330
|
it 'should only process verifications once and should not process installer if verifications succeed' do
|
303
331
|
@pkg.should_receive(:process_verifications).once.and_return(nil)
|
304
332
|
@installer.should_not_receive(:defaults)
|
305
333
|
@installer.should_not_receive(:process)
|
306
334
|
end
|
307
|
-
|
335
|
+
|
308
336
|
after do
|
309
337
|
begin
|
310
338
|
@pkg.process(@deployment, @roles)
|
@@ -314,7 +342,7 @@ CODE
|
|
314
342
|
end
|
315
343
|
|
316
344
|
end
|
317
|
-
|
345
|
+
|
318
346
|
describe 'when processing verifications' do
|
319
347
|
before do
|
320
348
|
@deployment = mock(Sprinkle::Deployment)
|
@@ -327,7 +355,7 @@ CODE
|
|
327
355
|
@logger = mock(ActiveSupport::BufferedLogger, :debug => true, :debug? => true)
|
328
356
|
@logger.stub!(:info)
|
329
357
|
end
|
330
|
-
|
358
|
+
|
331
359
|
it 'should request _each_ verification to configure itself against the deployment context' do
|
332
360
|
@pkg.verifications.each do |v|
|
333
361
|
v.should_receive(:defaults).with(@deployment).once
|
@@ -341,16 +369,16 @@ CODE
|
|
341
369
|
v.should_receive(:process).with(@roles).once
|
342
370
|
end
|
343
371
|
end
|
344
|
-
|
372
|
+
|
345
373
|
it 'should enter a log info event to notify user whats happening' do
|
346
374
|
@pkg.verifications.each do |v|
|
347
375
|
v.stub!(:defaults)
|
348
376
|
v.stub!(:process)
|
349
377
|
end
|
350
|
-
|
378
|
+
|
351
379
|
@pkg.should_receive(:logger).once.and_return(@logger)
|
352
380
|
end
|
353
|
-
|
381
|
+
|
354
382
|
after do
|
355
383
|
@pkg.process_verifications(@deployment, @roles)
|
356
384
|
end
|
@@ -419,7 +447,7 @@ CODE
|
|
419
447
|
@v1 = package :v1, :provides => :virtual do; end
|
420
448
|
@v2 = package :v2, :provides => :virtual do; end
|
421
449
|
end
|
422
|
-
|
450
|
+
|
423
451
|
it 'should select package for an array' do
|
424
452
|
@a.should_receive(:select_package).with(:virtual, [@v1,@v2]).and_return(@v1)
|
425
453
|
@a.tree do; end
|
@@ -440,31 +468,31 @@ CODE
|
|
440
468
|
end
|
441
469
|
|
442
470
|
end
|
443
|
-
|
444
|
-
describe 'with verifications' do
|
471
|
+
|
472
|
+
describe 'with verifications' do
|
445
473
|
it 'should create a Sprinkle::Verification object for the verify block' do
|
446
474
|
Sprinkle::Verify.should_receive(:new).once
|
447
|
-
|
475
|
+
|
448
476
|
create_package_with_blank_verify
|
449
477
|
end
|
450
|
-
|
478
|
+
|
451
479
|
it 'should create multiple Sprinkle::Verification objects for multiple verify blocks' do
|
452
480
|
Sprinkle::Verify.should_receive(:new).twice
|
453
|
-
|
481
|
+
|
454
482
|
create_package_with_blank_verify(2)
|
455
483
|
end
|
456
|
-
|
484
|
+
|
457
485
|
it 'should add each Sprinkle::Verificaton object to the @verifications array' do
|
458
486
|
@pkg = create_package_with_blank_verify(3)
|
459
487
|
@pkg.verifications.length.should eql(3)
|
460
488
|
end
|
461
|
-
|
489
|
+
|
462
490
|
it 'should initialize Sprinkle::Verification with the package name, description, and block' do
|
463
491
|
Sprinkle::Verify.should_receive(:new) do |pkg, desc|
|
464
492
|
pkg.name.should eql(@name)
|
465
493
|
desc.should eql('stuff happens')
|
466
494
|
end
|
467
|
-
|
495
|
+
|
468
496
|
# We do a should_not raise_error because if a block was NOT passed, an error
|
469
497
|
# is raised. This is specced in verification_spec.rb
|
470
498
|
lambda { create_package_with_blank_verify }.should_not raise_error
|
@@ -14,6 +14,18 @@ describe Sprinkle::Verify do
|
|
14
14
|
|
15
15
|
# Check a directory exists
|
16
16
|
has_directory 'mydir'
|
17
|
+
|
18
|
+
# Check for a user
|
19
|
+
has_user "bob"
|
20
|
+
|
21
|
+
# Check for user with old API
|
22
|
+
user_present "someuser"
|
23
|
+
|
24
|
+
# Check for user in a group
|
25
|
+
has_user "alf", :in_group => "alien"
|
26
|
+
|
27
|
+
# Check for a group
|
28
|
+
has_group "bobgroup"
|
17
29
|
|
18
30
|
# Check a symlink exists
|
19
31
|
has_symlink 'mypointer'
|
@@ -64,6 +76,22 @@ describe Sprinkle::Verify do
|
|
64
76
|
it 'should do a "test -d" on the has_directory check' do
|
65
77
|
@verification.commands.should include('test -d mydir')
|
66
78
|
end
|
79
|
+
|
80
|
+
it 'should use id to check for user in group' do
|
81
|
+
@verification.commands.should include("id -G alf | xargs -n1 echo | grep alien")
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'should use id to check for user' do
|
85
|
+
@verification.commands.should include('id bob')
|
86
|
+
end
|
87
|
+
|
88
|
+
it 'should use id to check for user via user_present' do
|
89
|
+
@verification.commands.should include('id someuser')
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'should use id to check for group' do
|
93
|
+
@verification.commands.should include('id -g bobgroup')
|
94
|
+
end
|
67
95
|
|
68
96
|
it 'should do a "test -L" to check something is a symbolic link' do
|
69
97
|
@verification.commands.should include('test -L mypointer')
|
@@ -90,7 +118,7 @@ describe Sprinkle::Verify do
|
|
90
118
|
end
|
91
119
|
|
92
120
|
it 'should check that a ruby gem is installed' do
|
93
|
-
@verification.commands.should include("
|
121
|
+
@verification.commands.should include("gem list 'rails' --installed --version '2.1.0' > /dev/null")
|
94
122
|
end
|
95
123
|
|
96
124
|
it 'should check that an RPM is installed' do
|
data/sprinkle.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "sprinkle"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Marcus Crafter"]
|
12
|
-
s.date = "2011-09-
|
12
|
+
s.date = "2011-09-18"
|
13
13
|
s.description = "Ruby DSL based software provisioning tool"
|
14
14
|
s.email = "crafterm@redartisan.com"
|
15
15
|
s.executables = ["sprinkle"]
|
@@ -65,10 +65,10 @@ Gem::Specification.new do |s|
|
|
65
65
|
"lib/sprinkle/installers/freebsd_pkg.rb",
|
66
66
|
"lib/sprinkle/installers/freebsd_portinstall.rb",
|
67
67
|
"lib/sprinkle/installers/gem.rb",
|
68
|
+
"lib/sprinkle/installers/group.rb",
|
68
69
|
"lib/sprinkle/installers/install_package.rb",
|
69
70
|
"lib/sprinkle/installers/installer.rb",
|
70
71
|
"lib/sprinkle/installers/mac_port.rb",
|
71
|
-
"lib/sprinkle/installers/noop.rb",
|
72
72
|
"lib/sprinkle/installers/openbsd_pkg.rb",
|
73
73
|
"lib/sprinkle/installers/opensolaris_pkg.rb",
|
74
74
|
"lib/sprinkle/installers/pacman.rb",
|
@@ -96,7 +96,7 @@ Gem::Specification.new do |s|
|
|
96
96
|
"lib/sprinkle/verifiers/rpm.rb",
|
97
97
|
"lib/sprinkle/verifiers/ruby.rb",
|
98
98
|
"lib/sprinkle/verifiers/symlink.rb",
|
99
|
-
"lib/sprinkle/verifiers/
|
99
|
+
"lib/sprinkle/verifiers/users_groups.rb",
|
100
100
|
"lib/sprinkle/verify.rb",
|
101
101
|
"script/console",
|
102
102
|
"script/destroy",
|
@@ -117,7 +117,6 @@ Gem::Specification.new do |s|
|
|
117
117
|
"spec/sprinkle/installers/gem_spec.rb",
|
118
118
|
"spec/sprinkle/installers/installer_spec.rb",
|
119
119
|
"spec/sprinkle/installers/mac_port_spec.rb",
|
120
|
-
"spec/sprinkle/installers/noop_spec.rb",
|
121
120
|
"spec/sprinkle/installers/openbsd_pkg_spec.rb",
|
122
121
|
"spec/sprinkle/installers/opensolaris_pkg_spec.rb",
|
123
122
|
"spec/sprinkle/installers/push_text_spec.rb",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sprinkle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 0.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marcus Crafter
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-09-
|
18
|
+
date: 2011-09-18 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rspec
|
@@ -137,10 +137,10 @@ files:
|
|
137
137
|
- lib/sprinkle/installers/freebsd_pkg.rb
|
138
138
|
- lib/sprinkle/installers/freebsd_portinstall.rb
|
139
139
|
- lib/sprinkle/installers/gem.rb
|
140
|
+
- lib/sprinkle/installers/group.rb
|
140
141
|
- lib/sprinkle/installers/install_package.rb
|
141
142
|
- lib/sprinkle/installers/installer.rb
|
142
143
|
- lib/sprinkle/installers/mac_port.rb
|
143
|
-
- lib/sprinkle/installers/noop.rb
|
144
144
|
- lib/sprinkle/installers/openbsd_pkg.rb
|
145
145
|
- lib/sprinkle/installers/opensolaris_pkg.rb
|
146
146
|
- lib/sprinkle/installers/pacman.rb
|
@@ -168,7 +168,7 @@ files:
|
|
168
168
|
- lib/sprinkle/verifiers/rpm.rb
|
169
169
|
- lib/sprinkle/verifiers/ruby.rb
|
170
170
|
- lib/sprinkle/verifiers/symlink.rb
|
171
|
-
- lib/sprinkle/verifiers/
|
171
|
+
- lib/sprinkle/verifiers/users_groups.rb
|
172
172
|
- lib/sprinkle/verify.rb
|
173
173
|
- script/console
|
174
174
|
- script/destroy
|
@@ -189,7 +189,6 @@ files:
|
|
189
189
|
- spec/sprinkle/installers/gem_spec.rb
|
190
190
|
- spec/sprinkle/installers/installer_spec.rb
|
191
191
|
- spec/sprinkle/installers/mac_port_spec.rb
|
192
|
-
- spec/sprinkle/installers/noop_spec.rb
|
193
192
|
- spec/sprinkle/installers/openbsd_pkg_spec.rb
|
194
193
|
- spec/sprinkle/installers/opensolaris_pkg_spec.rb
|
195
194
|
- spec/sprinkle/installers/push_text_spec.rb
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module Sprinkle
|
2
|
-
module Installers
|
3
|
-
# = Noop Installer
|
4
|
-
#
|
5
|
-
# This installer does nothing, it's simply useful for running pre / post hooks by themselves.
|
6
|
-
#
|
7
|
-
class Noop < Installer
|
8
|
-
def initialize(parent, name, options = {}, &block) #:nodoc:
|
9
|
-
super parent, options, &block
|
10
|
-
end
|
11
|
-
|
12
|
-
protected
|
13
|
-
|
14
|
-
def install_commands #:nodoc:
|
15
|
-
'echo noop'
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Sprinkle
|
2
|
-
module Verifiers
|
3
|
-
# = User Verifier
|
4
|
-
# This was added so we dont have to verify a file to see if user was created
|
5
|
-
# Defines a verify which can be used to test the existence of a user.
|
6
|
-
module Users
|
7
|
-
Sprinkle::Verify.register(Sprinkle::Verifiers::Users)
|
8
|
-
|
9
|
-
# Tests that the user exists
|
10
|
-
def has_user(user)
|
11
|
-
@commands << "id #{user}"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.expand_path("../../spec_helper", File.dirname(__FILE__))
|
2
|
-
|
3
|
-
describe Sprinkle::Installers::Noop do
|
4
|
-
|
5
|
-
before do
|
6
|
-
@package = mock(Sprinkle::Package, :name => 'spec')
|
7
|
-
end
|
8
|
-
|
9
|
-
def create_noop(names, options = {}, &block)
|
10
|
-
Sprinkle::Installers::Noop.new(@package, options, &block)
|
11
|
-
end
|
12
|
-
|
13
|
-
describe 'during installation' do
|
14
|
-
|
15
|
-
it 'should always be empty' do
|
16
|
-
@installer = create_noop 'spec'
|
17
|
-
@install_commands = @installer.send :install_commands
|
18
|
-
@install_commands.should == 'echo noop'
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|