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