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-release-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150408114135.1728.11452.reportbug@cthulhu