gluez 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gluez/resources/disable.rb +2 -0
- data/lib/gluez/resources/enable.rb +2 -0
- data/lib/gluez/resources/initd.rb +8 -7
- data/lib/gluez/resources/restart.rb +3 -0
- data/lib/gluez/resources/start.rb +2 -0
- data/lib/gluez/resources/stop.rb +2 -0
- data/lib/gluez/resources/upstart.rb +46 -0
- metadata +2 -1
@@ -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
|
25
|
+
PATH=#{self.path}
|
25
26
|
DAEMON=#{self.daemon}
|
26
|
-
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
|
|
data/lib/gluez/resources/stop.rb
CHANGED
@@ -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.
|
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
|