servicebuilder 0.0.2 → 0.0.3
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/bin/servicebuilder +28 -1
- metadata +3 -3
data/bin/servicebuilder
CHANGED
@@ -39,7 +39,7 @@ require 'fileutils'
|
|
39
39
|
# s.activate! to symlink it into the activedir.
|
40
40
|
class Service
|
41
41
|
attr_accessor :name, :run, :log, :stagedir, :activatedir, :sleep, :logsleep,\
|
42
|
-
:loguser
|
42
|
+
:loguser, :down
|
43
43
|
|
44
44
|
# Methods to wrap your runscript and logscript around something safe
|
45
45
|
def runscript
|
@@ -94,6 +94,17 @@ EOF
|
|
94
94
|
File.join(@stagedir, "log", "main"))
|
95
95
|
modified = true
|
96
96
|
end
|
97
|
+
if @down
|
98
|
+
if not File.file?(File.join(@stagedir, "down"))
|
99
|
+
puts "Creating down file #{@stagedir}/down"
|
100
|
+
Kernel.system("touch", File.join(@stagedir, "down"))
|
101
|
+
end
|
102
|
+
else
|
103
|
+
if File.file?(File.join(@stagedir, "down"))
|
104
|
+
puts "Removing down file #{@stagedir}/down"
|
105
|
+
File.unlink(File.join(@stagedir, "down"))
|
106
|
+
end
|
107
|
+
end
|
97
108
|
|
98
109
|
# Test to see if we need to edit the run and log/run scripts
|
99
110
|
writerun = true
|
@@ -244,6 +255,11 @@ confdata.each do |k, d|
|
|
244
255
|
else
|
245
256
|
log = ['chpst',"-u#{loguser}",'svlogd','-tt','./main']
|
246
257
|
end
|
258
|
+
if d.has_key?('down')
|
259
|
+
down = true
|
260
|
+
else
|
261
|
+
down = false
|
262
|
+
end
|
247
263
|
|
248
264
|
s = Service.new
|
249
265
|
s.name = servicename
|
@@ -252,6 +268,7 @@ confdata.each do |k, d|
|
|
252
268
|
s.sleep = sleep
|
253
269
|
s.logsleep = logsleep
|
254
270
|
s.loguser = loguser
|
271
|
+
s.down = down
|
255
272
|
s.stagedir = File.join(stagedir, servicename)
|
256
273
|
s.activatedir = File.join(activatedir, servicename)
|
257
274
|
|
@@ -264,9 +281,19 @@ unless File.directory?(activatedir)
|
|
264
281
|
if File.exists?(activatedir)
|
265
282
|
raise "#{activatedir} exists but is not a directory, bailing"
|
266
283
|
end
|
284
|
+
puts "Creating directory #{activatedir}"
|
267
285
|
FileUtils.mkdir(activatedir)
|
268
286
|
end
|
269
287
|
|
288
|
+
# make sure /var/service-stage exists
|
289
|
+
unless File.directory?(stagedir)
|
290
|
+
if File.exists?(stagedir)
|
291
|
+
raise "#{stagedir} exists but is not a directory, bailing"
|
292
|
+
end
|
293
|
+
puts "Creating directory #{stagedir}"
|
294
|
+
FileUtils.mkdir(stagedir)
|
295
|
+
end
|
296
|
+
|
270
297
|
# activate them by symlinking the staged service into the activate directory
|
271
298
|
wantservices.values.each do |s|
|
272
299
|
puts "Found #{s.name}"
|
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
|
+
- 3
|
9
|
+
version: 0.0.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Erik Bourget
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2012-09-
|
17
|
+
date: 2012-09-06 00:00:00 -07:00
|
18
18
|
default_executable: servicebuilder
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|