Package: sysvinit-utils
Version: 2.88dsf-41ubuntu6
Severity: normal
Tags: patch

Dear Maintainer,

In https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712763#59 an issue
came up that if one does sysv-init -> upstart command translation
force-reload should really be mapped to restart to be debian policy
compliant. In upstart, reload always works and sends SIGHUP (or restart
signal) to the daemons but that may or may not actually reload
configuration. Thus to be on the safe side & as per policy force-reload
should simply restart the daemon.

>From af5b9248687d450fa3bfbe55595640fb6bf435d8 Mon Sep 17 00:00:00 2001
From: Dimitri John Ledkov <x...@ubuntu.com>
Date: Sat, 3 May 2014 17:03:03 +0100
Subject: [PATCH] service: in upstart interfacing code, map "force-reload" to
 restart as per Debian policy 9.3.2, since there is no way to know for-sure if
 a reload is supported.

---
 debian/changelog       | 3 +++
 debian/service/service | 8 +++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b2605ec..0c52c10 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,9 @@ sysvinit (2.88dsf-56) UNRELEASED; urgency=medium
   * service & invoke-rc.d: unset UPSTART_SESSION environment variable to
     make sure all upstart initctl commands are executed against system
     init and not the session one. (Closes: #745505)
+  * service: in upstart interfacing code, map "force-reload" to restart as
+    per Debian policy 9.3.2, since there is no way to know for-sure if a
+    reload is supported.
 
   [ Petter Reinholdtsen ]
   * Adjust the sysvinit/hurd-fix-inittab debconf template to no longer
diff --git a/debian/service/service b/debian/service/service
index 387420a..01b1cb0 100755
--- a/debian/service/service
+++ b/debian/service/service
@@ -141,15 +141,13 @@ then
          # Action is a valid upstart action
          exec ${ACTION} ${SERVICE} ${OPTIONS}
       ;;
-      restart)
+      restart|force-reload)
         # Map restart to the usual sysvinit behavior.
+        # Map force-reload to restart as per Debian policy 9.3.2,
+        # since there is no way to know if "reload" is supported
          stop ${SERVICE} ${OPTIONS} || :
          exec start ${SERVICE} ${OPTIONS}
       ;;
-      force-reload)
-         # Upstart just uses reload for force-reload
-         exec reload ${SERVICE} ${OPTIONS}
-      ;;
    esac
 fi
 
-- 
2.0.0.rc0

Regards,

Dimitri.
_______________________________________________
Pkg-sysvinit-devel mailing list
Pkg-sysvinit-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel

Reply via email to