gluez 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,8 @@
1
1
  resource :disable do
2
2
  ready!
3
3
 
4
+ self.as_user "root"
5
+
4
6
  steps do |step|
5
7
  step.checks << "\\$(update-rc.d -n -f #{self.name} remove | grep '/etc/rc' | wc -l) -eq 0"
6
8
  step.code = "/usr/sbin/update-rc.d -f #{self.name} remove"
@@ -1,6 +1,8 @@
1
1
  resource :enable do
2
2
  ready!
3
3
 
4
+ self.as_user "root"
5
+
4
6
  steps do |step|
5
7
  step.checks << "\\$(update-rc.d -n -f #{self.name} remove | grep '/etc/rc' | wc -l) -gt 0"
6
8
  step.code = "/usr/sbin/update-rc.d #{self.name} defaults"
@@ -2,6 +2,7 @@ require 'base64'
2
2
 
3
3
  resource :initd do
4
4
  optional :daemon_opts, :default => ""
5
+ optional :path, :default => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
5
6
  mandatory :daemon
6
7
 
7
8
  ready!
@@ -21,9 +22,9 @@ resource :initd do
21
22
  # Description: starts #{self.name}
22
23
  ### END INIT INFO
23
24
 
24
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
25
+ PATH=#{self.path}
25
26
  DAEMON=#{self.daemon}
26
- DAEMON_OPTS=#{self.daemon_opts}
27
+ DAEMON_OPTS="#{self.daemon_opts}"
27
28
  NAME=#{self.name}
28
29
  DESC=$NAME
29
30
 
@@ -41,26 +42,26 @@ resource :initd do
41
42
  case "$1" in
42
43
  start)
43
44
  echo -n "Starting $DESC: "
44
- start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
45
+ start-stop-daemon --start --chuid #{self.user} --quiet --pidfile /var/run/$NAME.pid --exec su -l #{self.user} -c '$DAEMON' -- $DAEMON_OPTS || true
45
46
  echo "$NAME."
46
47
  ;;
47
48
 
48
49
  stop)
49
50
  echo -n "Stopping $DESC: "
50
- start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
51
+ start-stop-daemon --stop --chuid #{self.user} --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
51
52
  echo "$NAME."
52
53
  ;;
53
54
 
54
55
  restart|force-reload)
55
56
  echo -n "Restarting $DESC: "
56
- start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
57
+ start-stop-daemon --stop --chuid #{self.user} --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
57
58
  sleep 1
58
- start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
59
+ start-stop-daemon --start --chuid #{self.user} --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
59
60
  echo "$NAME."
60
61
  ;;
61
62
  reload)
62
63
  echo -n "Reloading $DESC configuration: "
63
- start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
64
+ start-stop-daemon --stop --chuid #{self.user} --signal HUP --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
64
65
  echo "$NAME."
65
66
  ;;
66
67
 
@@ -1,5 +1,8 @@
1
1
  resource :restart do
2
2
  ready!
3
+
4
+ self.as_user "root"
5
+
3
6
  steps do |step|
4
7
  step.code = "service #{self.name} restart"
5
8
  end
@@ -1,6 +1,8 @@
1
1
  resource :start do
2
2
  ready!
3
3
 
4
+ self.as_user "root"
5
+
4
6
  setup = "service --status-all 1>/tmp/gluez.tmp 2>&1"
5
7
  steps do |step|
6
8
  step.checks << %Q("\\$(grep #{self.name} /tmp/gluez.tmp | wc -l)" = "1")
@@ -1,6 +1,8 @@
1
1
  resource :stop do
2
2
  ready!
3
3
 
4
+ self.as_user "root"
5
+
4
6
  setup = "service --status-all 1>/tmp/gluez.tmp 2>&1"
5
7
  steps do |step|
6
8
  step.checks << %Q("\\$(grep #{self.name} /tmp/gluez.tmp | wc -l)" = "1")
@@ -0,0 +1,46 @@
1
+ require 'base64'
2
+
3
+ resource :upstart do
4
+ optional :start_on, :default => "runlevel [2]"
5
+ optional :stop_on, :default => "runlevel [016]"
6
+ optional :fork, :default => false
7
+ mandatory :code
8
+
9
+ ready!
10
+
11
+ self.as_user "root"
12
+
13
+ script = <<-EOF
14
+ description "#{self.name}"
15
+
16
+ start on #{self.start_on}
17
+ stop on #{self.stop_on}
18
+
19
+ console owner
20
+
21
+ #{self.fork ? 'expect fork' : ''}
22
+ respawn
23
+
24
+ exec #{self.code}
25
+ EOF
26
+
27
+ script64 = Base64.encode64(script.multiline_strip)
28
+
29
+ setup "cat >~/.gluez_transfer <<\\DATA
30
+ #{script64.strip}
31
+ DATA"
32
+
33
+ steps do |step|
34
+ step.checks << "-f /etc/init/#{self.name}.conf"
35
+ step.code = "touch /etc/init/#{self.name}.conf"
36
+ end
37
+ steps do |step|
38
+ step.checks << %Q("\\$(cat ~/.gluez_transfer | base64 -i -d - | md5sum - | awk '{print \\$1}')" = "\\$(md5sum /etc/init/#{self.name}.conf | awk '{print \\$1}')")
39
+ step.code = "cat ~/.gluez_transfer | base64 -i -d - > /etc/init/#{self.name}.conf"
40
+ end
41
+ steps do |step|
42
+ step.checks << "-L /etc/init.d/#{self.name}"
43
+ step.code = "ln -s /lib/init/upstart-job /etc/init.d/#{self.name}"
44
+ end
45
+
46
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gluez
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -41,6 +41,7 @@ files:
41
41
  - lib/gluez/resources/substitute.rb
42
42
  - lib/gluez/resources/transfer.rb
43
43
  - lib/gluez/resources/umount.rb
44
+ - lib/gluez/resources/upstart.rb
44
45
  - lib/gluez/string.rb
45
46
  - lib/gluez/templates/profile.erb
46
47
  - lib/gluez.rb