gluez 0.4.4 → 0.4.5
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/lib/gluez/resource.rb
CHANGED
@@ -26,6 +26,7 @@ module Gluez
|
|
26
26
|
|
27
27
|
# A chunk of code which will be executed before any other code defined as steps
|
28
28
|
attr_accessor :setup
|
29
|
+
attr_accessor :clean
|
29
30
|
|
30
31
|
attr_reader :subscriptions
|
31
32
|
|
@@ -47,6 +48,7 @@ module Gluez
|
|
47
48
|
self.optional :lazy, :default => false
|
48
49
|
|
49
50
|
self.accessor :setup
|
51
|
+
self.accessor :clean
|
50
52
|
end
|
51
53
|
|
52
54
|
def as_user(user)
|
@@ -140,6 +142,11 @@ module Gluez
|
|
140
142
|
generate_success_or_failure(g, "echo \"[up2date] - #{fun}\"") do
|
141
143
|
g << "echo \"[not up2date] - #{fun}\""
|
142
144
|
|
145
|
+
if self.clean
|
146
|
+
g << "echo \"[clean] - #{fun}\""
|
147
|
+
g << "su -l #{user} -c \"#{self.clean}\""
|
148
|
+
end
|
149
|
+
|
143
150
|
unless simulate
|
144
151
|
y = @steps.length
|
145
152
|
if y > 1
|
data/lib/gluez/resources/bash.rb
CHANGED
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
3
|
+
resource :initd do
|
4
|
+
optional :daemon_opts, :default => ""
|
5
|
+
mandatory :daemon
|
6
|
+
|
7
|
+
ready!
|
8
|
+
|
9
|
+
self.as_user "root"
|
10
|
+
|
11
|
+
script = <<-EOF
|
12
|
+
#!/bin/sh
|
13
|
+
|
14
|
+
### BEGIN INIT INFO
|
15
|
+
# Provides: #{self.name}
|
16
|
+
# Required-Start: $local_fs $remote_fs $network $syslog
|
17
|
+
# Required-Stop: $local_fs $remote_fs $network $syslog
|
18
|
+
# Default-Start: 2 3 4 5
|
19
|
+
# Default-Stop: 0 1 6
|
20
|
+
# Short-Description: starts #{self.name}
|
21
|
+
# Description: starts #{self.name}
|
22
|
+
### END INIT INFO
|
23
|
+
|
24
|
+
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
25
|
+
DAEMON=#{self.daemon}
|
26
|
+
DAEMON_OPTS=#{self.daemon_opts}
|
27
|
+
NAME=#{self.name}
|
28
|
+
DESC=$NAME
|
29
|
+
|
30
|
+
# Include defaults if available
|
31
|
+
if [ -f /etc/default/#{self.name} ]; then
|
32
|
+
. /etc/default/#{self.name}
|
33
|
+
fi
|
34
|
+
|
35
|
+
test -x $DAEMON || exit 0
|
36
|
+
|
37
|
+
set -e
|
38
|
+
|
39
|
+
. /lib/lsb/init-functions
|
40
|
+
|
41
|
+
case "$1" in
|
42
|
+
start)
|
43
|
+
echo -n "Starting $DESC: "
|
44
|
+
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
|
45
|
+
echo "$NAME."
|
46
|
+
;;
|
47
|
+
|
48
|
+
stop)
|
49
|
+
echo -n "Stopping $DESC: "
|
50
|
+
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
|
51
|
+
echo "$NAME."
|
52
|
+
;;
|
53
|
+
|
54
|
+
restart|force-reload)
|
55
|
+
echo -n "Restarting $DESC: "
|
56
|
+
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
|
57
|
+
sleep 1
|
58
|
+
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
|
59
|
+
echo "$NAME."
|
60
|
+
;;
|
61
|
+
reload)
|
62
|
+
echo -n "Reloading $DESC configuration: "
|
63
|
+
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
|
64
|
+
echo "$NAME."
|
65
|
+
;;
|
66
|
+
|
67
|
+
status)
|
68
|
+
status_of_proc -p /var/run/$NAME.pid "$DAEMON" $NAME && exit 0 || exit $?
|
69
|
+
;;
|
70
|
+
*)
|
71
|
+
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status}" >&2
|
72
|
+
exit 1
|
73
|
+
;;
|
74
|
+
esac
|
75
|
+
|
76
|
+
exit 0
|
77
|
+
EOF
|
78
|
+
|
79
|
+
script64 = Base64.encode64(script.multiline_strip)
|
80
|
+
|
81
|
+
setup "cat >~/.gluez_transfer <<\\DATA
|
82
|
+
#{script64.strip}
|
83
|
+
DATA"
|
84
|
+
|
85
|
+
steps do |step|
|
86
|
+
step.checks << "-f /etc/init.d/#{self.name}"
|
87
|
+
step.code = "touch /etc/init.d/#{self.name}"
|
88
|
+
end
|
89
|
+
steps do |step|
|
90
|
+
step.checks << %Q("\\$(cat ~/.gluez_transfer | base64 -i -d - | md5sum - | awk '{print \\$1}')" = "\\$(md5sum /etc/init.d/#{self.name} | awk '{print \\$1}')")
|
91
|
+
step.code = "chmod +x /etc/init.d/#{self.name} && cat ~/.gluez_transfer | base64 -i -d - > /etc/init.d/#{self.name}"
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
resource :substitute do
|
2
|
+
mandatory :entries
|
3
|
+
|
4
|
+
ready!
|
5
|
+
|
6
|
+
self.entries.each do |entry|
|
7
|
+
pattern, replacement = entry
|
8
|
+
steps do |step|
|
9
|
+
step.checks << %Q("\\$(cat #{self.name} | md5sum - | awk '{print \\$1}')" = "\\$(cat #{self.name} | sed 's/#{pattern}/#{replacement}/g' | md5sum - | awk '{print \\$1}')")
|
10
|
+
step.code = "sed 's/#{pattern}/#{replacement}/g' -i #{self.name}"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
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.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-14 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: a server configuration toolkit
|
15
15
|
email: jan.zimmek@web.de
|
@@ -29,6 +29,7 @@ files:
|
|
29
29
|
- lib/gluez/resources/enable.rb
|
30
30
|
- lib/gluez/resources/file.rb
|
31
31
|
- lib/gluez/resources/gem.rb
|
32
|
+
- lib/gluez/resources/initd.rb
|
32
33
|
- lib/gluez/resources/link.rb
|
33
34
|
- lib/gluez/resources/mount.rb
|
34
35
|
- lib/gluez/resources/package.rb
|
@@ -37,6 +38,7 @@ files:
|
|
37
38
|
- lib/gluez/resources/source.rb
|
38
39
|
- lib/gluez/resources/start.rb
|
39
40
|
- lib/gluez/resources/stop.rb
|
41
|
+
- lib/gluez/resources/substitute.rb
|
40
42
|
- lib/gluez/resources/transfer.rb
|
41
43
|
- lib/gluez/resources/umount.rb
|
42
44
|
- lib/gluez/string.rb
|