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