]> git.pld-linux.org Git - packages/rpm-build-macros.git/blob - service_generator.sh
autotag: make git complatible (however needs to be in package dir)
[packages/rpm-build-macros.git] / service_generator.sh
1 #!/bin/sh
2 # init vars
3 service="$1"
4 action="$2"
5 desc="$3"
6 quiet=$quiet
7 noop=$noop
8 if [ -z "$desc" ]; then
9         desc="$1 service"
10 fi
11
12 # action stop implies quiet mode and check disabling
13 if [ "$action" = "stop" ]; then
14         quiet=1
15 else
16         check=1
17 fi
18
19 # common part
20 service_body() {
21         cat <<-EOF
22                 if [ ! -x /bin/systemd_booted ] || ! /bin/systemd_booted; then
23                         if [ -f /var/lock/subsys/$service ]; then
24         EOF
25         if [ "$noop" = 1 ]; then
26                 echo :
27         else
28                 cat <<-EOF
29                                 /sbin/service $service $action 1>&2 || :;
30                 EOF
31         fi
32
33         if [ "$quiet" != 1 ]; then
34                 cat <<-EOF
35                         else
36                                 echo 'Run "/sbin/service $service start" to start $desc.'
37                 EOF
38         fi
39         cat <<-EOF
40                         fi
41                 fi
42         EOF
43 }
44
45 # include check function
46 skip_auto_restart_body() {
47         cat <<-EOF
48                 skip_auto_restart() {
49                         [ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
50                         [ -f /etc/sysconfig/$service ] && . /etc/sysconfig/$service
51                         echo \${RPM_SKIP_AUTO_RESTART:-no}
52                 };
53         EOF
54 }
55
56 echo ''
57 if [ "$check" = 1 ]; then
58         skip_auto_restart_body
59         echo 'if [ $(skip_auto_restart) = no ]; then'
60                 service_body
61         echo 'else'
62                 # service restart was disabled, tell them to restart it
63         cat <<-EOF
64                 if [ ! -x /bin/systemd_booted ] || ! /bin/systemd_booted; then
65                         if [ -f /var/lock/subsys/$service ]; then
66                                 echo 'Run "/sbin/service $service restart" to restart $desc.'
67                         fi
68                 fi
69         EOF
70         echo 'fi'
71 else
72         service_body
73 fi
74
75 exit 0
76
77 # for testing - no syntax errors allowed
78 rpm -E '%service monit restart' | sh
79 rpm -E '%service monit restart -q' | sh
80 rpm -E '%service monit stop' | sh
81 rpm -E '%service monit stop -q' | sh
82 rpm -E '%service monit stop "Monit Daemon"' | sh
83 rpm -E '%service monit stop "Monit Daemon" -q' | sh
84 rpm -E '%service monit restart "Monit Daemon"' | sh
85 rpm -E '%service monit restart -q "Monit Daemon"' | sh
86 rpm -E '%service monit reload "Monit Daemon"' | sh
87 rpm -E '%service monit reload -q "Monit Daemon"' | sh
88 rpm -E '%{service monit reload "Monit Daemon"} date' | sh
89 rpm -E '%{service monit reload "Monit Daemon" -q} date' | sh
90 rpm -E '%{service -n monit restart "Monit Daemon" } date' | sh
91
This page took 0.040065 seconds and 3 git commands to generate.