Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package sysvinit

As shown in the bugs referenced in the changelog, there are cases where
an init script can be installed, but systemd ends up unaware of it
until after reboot.  This is entirely suboptimal, and the fix for this
is covered mostly here in this sysvinit change.

There is another corner case that's more easily handled by a systemd
trigger, and that is covered in an upcoming systemd upload, but both
are independant and can happen without the other's involvement.

... Adam

diff -Nru sysvinit-2.88dsf/debian/changelog sysvinit-2.88dsf/debian/changelog
--- sysvinit-2.88dsf/debian/changelog   2014-11-11 12:34:28.000000000 -0700
+++ sysvinit-2.88dsf/debian/changelog   2015-04-06 12:10:53.000000000 -0600
@@ -1,3 +1,10 @@
+sysvinit (2.88dsf-59) unstable; urgency=medium
+
+  * Call 'systemctl daemon-reload' after any insserv call if systemd
+    is the system init to pick up changes (Closes: #766429, #774799)
+
+ -- Adam Conrad <adcon...@debian.org>  Mon, 06 Apr 2015 10:44:47 -0600
+
 sysvinit (2.88dsf-58) unstable; urgency=low

   * Fix typo in invoke-rc.d breaking upstart installations (Closes:
diff -Nru sysvinit-2.88dsf/debian/src/sysv-rc/sbin/update-rc.d 
sysvinit-2.88dsf/debian/src/sysv-rc/sbin/update-rc.d
--- sysvinit-2.88dsf/debian/src/sysv-rc/sbin/update-rc.d        2014-10-25 
15:15:12.000000000 -0600
+++ sysvinit-2.88dsf/debian/src/sysv-rc/sbin/update-rc.d        2015-04-06 
10:43:52.000000000 -0600
@@ -63,6 +63,12 @@
     map { push @dirs, $_; mkdir join('/', @dirs), 0755; } @path;
 }

+sub systemd_reload {
+    if (-d "/run/systemd/system") {
+        system("systemctl", "daemon-reload");
+    }
+}
+
 # Creates the necessary links to enable/disable the service (equivalent of an
 # initscript) in systemd.
 sub make_systemd_links {
@@ -92,17 +98,9 @@
                 } else {
                     unlink($service_link) if -e $service_link;
                 }
-                $changed_sth = 1;
             }
         }
         close($fh);
-
-        # If we changed anything and this machine is running systemd, tell
-        # systemd to reload so that it will immediately pick up our
-        # changes.
-        if ($changed_sth && -d "/run/systemd/system") {
-            system("systemctl", "daemon-reload");
-        }
     }
 }

@@ -182,6 +180,7 @@
                 remove_last_action($scriptname);
             }
             error_code($rc, "insserv rejected the script header") if $rc;
+            systemd_reload;
             exit $rc;
         } else {
             # insserv removes all dangling symlinks, no need to tell it
@@ -191,6 +190,7 @@
                 remove_last_action($scriptname);
             }
             error_code($rc, "insserv rejected the script header") if $rc;
+            systemd_reload;
             exit $rc;
         }
     } elsif ("defaults" eq $action || "start" eq $action ||
@@ -208,6 +208,7 @@
                 save_last_action($scriptname, @orig_argv);
             }
             error_code($rc, "insserv rejected the script header") if $rc;
+            systemd_reload;
             exit $rc;
         } else {
             error("initscript does not exist: /etc/init.d/$scriptname");
@@ -224,6 +225,7 @@
             save_last_action($scriptname, @orig_argv);
         }
         error_code($rc, "insserv rejected the script header") if $rc;
+        systemd_reload;
         exit $rc;
     } else {
         usage();

unblock sysvinit/2.88dsf-59

-- System Information:
Debian Release: jessie/sid
  APT prefers vivid-updates
  APT policy: (500, 'vivid-updates'), (500, 'vivid-security'), (500, 'vivid')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.19.0-11-generic (SMP w/4 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to