As it probably is time to give a new status update on the dependency based boot sequencing release goal, I tried to collect an update in <URL:http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot/200803-status>. Anyone got time to review it and suggest changes and improvements?
To: [EMAIL PROTECTED] Date: 2008-03-XX Subject: Status of dependency based boot sequencing release goal 2008-03 Here is a small update on the release goal of converting the Debian boot sequening to use dynamic and dependency based ordering instead of hardcoded sequence numbers. The latest status information is available from <URL: http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot >. As of 2008-03-07, all packages with missing dependency information in one of their init.d scripts have been reported to BTS. More than 80% of the packages with init.d scripts already provide this dependency information, and the amount is increasing rapidly. We are currently in the process of NMUing the about 165 source packages without headers, to get the amount up to 100%. As this is a release goal, 0-day NMUs are OK, and will be uploaded if the maintainer do not respond fairly quickly. As it is now possible to use the dependency headers in the init.d scripts, some of us are already using insserv to order the boot. In most cases, this work just fine, but as this is the first time the provided dependencies are used, bugs are discovered. Bugs in the headers are reported as important, as it messes up the boot and shutdown sequence on machines using dependency based boot sequencing. There are several classes of bugs: * Start and stop symlinks are inserted in the wrong rcX.d/ directory. The header should reflect the call done to update-rc.d in the postinst. A common bug is to list S in default-stop. This is always a mistake and lintian warn about it. * Missing dependencies or incorrect dependencies, giving the wrong order. A common bug is to not depend on $remote_fs when using files in /usr/, or when having a daemon that should be stopped before sendsigs kill all processes. * Listing unwanted and unneeded dependencies, some times creating a dependency loop. * Failing to remove obsolete init.d scripts on upgrades, leaving behind a script with incorrect or missing dependency header that can not be fixed during upgrades. * Incorrect ordering of update-rc.d calls. Packages with several init.d scripts need to make sure their postinst script insert them in dependency order. Most of these have been fixed already, and insserv will check the current set of script for consistency before enabling dependency based boot sequencing. Around 20 such bugs are still open in unstable. I urge maintainers to check their packages dependencies and upload a fixed version if there are bugs. To weed out these bugs, testing is needed. As there are still a lot of problems with packages not propagating into testing, I would recommend to limit testing to unstable installations at the moment. To test dependency based boot sequencing, run aptitude install insserv && dpkg-reconfigure insserv and answer yes when asked if it should be enabled. If the consistency check work out, the boot system will switch to dependency based ordering. The /usr/ share/insserv/seq-changes script can be used to summarize the sequence changes done, and /usr/share/insserv/check-initd-order can be used to verify that the current sequence is according to the provided dependency headers. It is possible to disable dependency based boot sequencing. It is guaranteed to work by simply restoring the old boot order if no new init.d scripts have been installed since it was enabled. It will try its best to convert if changes have been made, but that method might fail if other packages refuse to run their postinst scripts. It is possible to enable insserv using preseeding, and I have been told that at least one creator of live Debian CDs is using it to clean up the boot. If you want to discuss this release goal, please join us on #pkg-sysvinit on irc.debian.org and the <URL: http://lists.alioth.debian.org/mailman/listinfo/initscripts-ng-devel > mailing list. Happy hacking, -- Petter Reinholdtsen _______________________________________________ initscripts-ng-devel mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/initscripts-ng-devel

