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.
Files changed (2) hide show
  1. data/bin/servicebuilder +28 -1
  2. 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
- - 2
9
- version: 0.0.2
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-04 00:00:00 -07:00
17
+ date: 2012-09-06 00:00:00 -07:00
18
18
  default_executable: servicebuilder
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency