]> git.pld-linux.org Git - packages/rpm-pld-macros.git/commitdiff
- helper script for %service macro body generator with more brains than rpm macros...
authorElan Ruusamäe <glen@pld-linux.org>
Thu, 1 Dec 2005 01:33:29 +0000 (01:33 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    service_generator.sh -> 1.1

service_generator.sh [new file with mode: 0644]

diff --git a/service_generator.sh b/service_generator.sh
new file mode 100644 (file)
index 0000000..aea38c5
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/sh
+# init vars
+service="$1"
+action="$2"
+desc="$3"
+quiet=$quiet
+if [ -z "$desc" ]; then
+       desc="$1 service"
+fi
+
+# action stop implies quiet mode and check disabling
+if [ $action = stop ]; then
+       quiet=1
+else
+       check=1
+fi
+
+# common part
+service_body() {
+       cat <<-EOF
+       if [ -f /var/lock/subsys/$service ]; then
+               /etc/rc.d/init.d/$service $action 1>&2
+EOF
+       if [ "$quiet" != 1 ]; then
+               cat <<-EOF
+               else
+                       echo 'Run "/etc/rc.d/init.d/$service start" to start $desc.'
+EOF
+       fi
+       cat <<-EOF
+       fi
+EOF
+}
+
+# include check function
+skip_auto_restart_body() {
+       cat <<-EOF
+
+       skip_auto_restart() {
+               . /etc/sysconfig/rpm
+               [ -f /etc/sysconfig/$service ] && . /etc/sysconfig/$service
+               echo \${RPM_SKIP_AUTO_RESTART:-no}
+       };
+EOF
+}
+
+echo ""
+if [ "$check" = 1 ]; then
+       skip_auto_restart_body
+       echo 'if [ $(skip_auto_restart) = no ]; then'
+       service_body
+       echo 'fi'
+else
+       service_body
+fi
+
+exit 0
+
+# for testing - no syntax errors allowed
+rpm -E '%service monit restart' | sh
+rpm -E '%service monit restart -q' | sh
+rpm -E '%service monit stop' | sh
+rpm -E '%service monit stop -q' | sh
+rpm -E '%service monit stop "Monit Daemon"' | sh
+rpm -E '%service monit stop "Monit Daemon" -q' | sh
+rpm -E '%service monit restart "Monit Daemon"' | sh
+rpm -E '%service monit restart -q "Monit Daemon"' | sh
+rpm -E '%service monit reload "Monit Daemon"' | sh
+rpm -E '%service monit reload -q "Monit Daemon"' | sh
This page took 0.727036 seconds and 4 git commands to generate.