]> git.pld-linux.org Git - packages/rpm-pld-macros.git/blob - service_generator.sh
- indenting
[packages/rpm-pld-macros.git] / service_generator.sh
1 #!/bin/sh
2 # init vars
3 service="$1"
4 action="$2"
5 desc="$3"
6 quiet=$quiet
7 if [ -z "$desc" ]; then
8         desc="$1 service"
9 fi
10
11 # action stop implies quiet mode and check disabling
12 if [ "$action" = "stop" ]; then
13         quiet=1
14 else
15         check=1
16 fi
17
18 # common part
19 service_body() {
20         cat <<-EOF
21                 if [ -f /var/lock/subsys/$service ]; then
22                         /sbin/service $service $action 1>&2 || :;
23         EOF
24
25         if [ "$quiet" != 1 ]; then
26                 cat <<-EOF
27                 else
28                         echo 'Run "/sbin/service $service start" to start $desc.'
29                 EOF
30         fi
31         cat <<-EOF
32                 fi
33         EOF
34 }
35
36 # include check function
37 skip_auto_restart_body() {
38         cat <<-EOF
39                 skip_auto_restart() {
40                         [ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
41                         [ -f /etc/sysconfig/$service ] && . /etc/sysconfig/$service
42                         echo \${RPM_SKIP_AUTO_RESTART:-no}
43                 };
44         EOF
45 }
46
47 echo ''
48 if [ "$check" = 1 ]; then
49         skip_auto_restart_body
50         echo 'if [ $(skip_auto_restart) = no ]; then'
51                 service_body
52         echo 'fi'
53 else
54         service_body
55 fi
56
57 exit 0
58
59 # for testing - no syntax errors allowed
60 rpm -E '%service monit restart' | sh
61 rpm -E '%service monit restart -q' | sh
62 rpm -E '%service monit stop' | sh
63 rpm -E '%service monit stop -q' | sh
64 rpm -E '%service monit stop "Monit Daemon"' | sh
65 rpm -E '%service monit stop "Monit Daemon" -q' | sh
66 rpm -E '%service monit restart "Monit Daemon"' | sh
67 rpm -E '%service monit restart -q "Monit Daemon"' | sh
68 rpm -E '%service monit reload "Monit Daemon"' | sh
69 rpm -E '%service monit reload -q "Monit Daemon"' | sh
70 rpm -E '%{service monit reload "Monit Daemon"} date' | sh
71 rpm -E '%{service monit reload "Monit Daemon" -q} date' | sh
72
This page took 1.056194 seconds and 4 git commands to generate.