On Thu, Nov 6, 2014 at 5:32 PM, Lucas Nussbaum <[email protected]> wrote: > Hi, > > On 06/11/14 at 09:17 +0100, Petter Reinholdtsen wrote: >> Thank you for looking at this issue again. :) >> >> [Lucas Nussbaum] >> > There are two relevant lintian checks: >> > https://lintian.debian.org/tags/init.d-script-missing-lsb-section.html >> > https://lintian.debian.org/tags/init.d-script-depends-on-all-virtual-facility.html >> >> This last lintian check have a strange description: >> >> > The given init script declares a dependency on the virtual facility "$all". >> > >> > This virtual facility is reserved for local scripts. >> > >> > Moreover, using $all in more than one init.d script is totally broken. >> >> The $all virtual facility is not reserved for local scripts (who came >> up with that idea? It is not from me, who introduced $all to Debian). >> And $all is only broken with systemd, as it will ignore the setting. >> With sysvinit/startpar/insserv, the value causes scripts to be placed >> first/last in the boot/shutdown sequence. The implementation is >> slightly confusing, but it is not totally broken. >> >> The test is good, but as I believe we need a way to scripts to get >> started last during boot and first during shutdown, I believe the >> proper fix is for systemd to be fixed to implement support for $all >> instead of pretending that the feature is useless and reserved for >> local scripts. > > Bastien added it in > http://anonscm.debian.org/cgit/lintian/lintian.git/commit/?id=f8a60da5ba1f30b5d7d96fd846a3f2cb9d6dcd32
The problem is that semantic is not well defined: if they are more than one $all script we do not know that is the last to execute. At least a local admin could shoot in its own foot but for general packaging it is more problematic. For instance for initscripts 2.88dsf-57 it could race between etc/init.d/rmnologin required-start and some local script and lead to some strange behavior. Bootsplash could also say boot is finished whereas local script or etc/init.d/watchdog required-start is going to be initialised (this is an esthetic race but nevertheless a race). BTW this bug was not open by a systemd supporter but by someone that was hit by a race between a local script and a packaged script... You could add some clarification about this race. About the different warnings: - bootchart*/plymouth : should run even after local script - bootlogd: run after local script and bootchart/plymouth - cardstories/dhcp-probe/monit/xy*: after network - readahead-fedora: after network mount - reniced: early in boot - dtc-* after or before network - cloud-init/debian-edu-install - torque-scheduler: after some torque jobs - watchdog: really early So only only bootchart/plymouth and bootlogd could be for me overriden. But even in this case we are hit by $all order limitation Bastien > Ccing him. > > Lucas _______________________________________________ Pkg-sysvinit-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel

