List Info

Thread: Status of dependency based boot sequencing release goal 2008-03




Status of dependency based boot sequencing release goal 2008-03
country flaguser name
Norway
2008-03-16 10:48:34
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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/DependencyBasedBo
ot >.

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, and remove them in reverse
dependency
    order. debhelper >= 6 is needed if postinst

update-rc.d calls are managed by dh_installinit and not
manually.

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/listi
nfo/initscripts-ng-devel >
mailing list.

Happy hacking,
- --
Petter Reinholdtsen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFH3UD+20zMSyow1ykRArSFAJ0ScmaRMY8Je07eWiwSsdK56sq+RQCg
6S/2
cR8hWcOXD19tpFIAlXv7mQ4=
=W0jG
-----END PGP SIGNATURE-----


-- 
To UNSUBSCRIBE, email to debian-devel-announce-REQUESTlists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmasterlists.debian.org


[1]

about | contact  Other archives ( Real Estate discussion Medical topics )