Dependency based boot sequence

It is possible to converting Debian to order the boot sequence using the LSB headers in the init.d scripts. This will get rid of several bugs in the current boot sequence, and make it easier to keep the sequence correct.

Advantages

Did you every need to insert a init.d scripts Y before init.d scripts Z and after init.d script X, where both Z and X is started using boot sequence number 20 (as in 20X and 20Z)? Adding your script as 20Y would not cut it, because you need Z to start before X. To do this, in Debian you currently need to talk to the maintainer of packages with scripts Z and X, asking one of them (or both) to move their script into a different number. Dependency based boot sequencing make it possible for each package maintainer to specify the dependencies of its scripts, and leave the number allocation to the dependency resolver.

Status

This page is created to keep track of the state of this feature, to make it easier to coordinate an effort to implement it for Debian Lenny. It is [http://lists.debian.org/debian-release/2007/06/msg00164.html proposed] as a [http://release.debian.org/lenny-goals.txt release goal] for Lenny.

2007-07-03

2007-07-22

2007-08-08

2007-09-06

2007-10-24

2007-11-14

2007-11-29

2007-12-22

2007-12-30

2008-01-06

2008-01-14

packages with init.d scripts

843

843

845

849

855

852

851

857

860

863

863

fraction with LSB headers

56%

57%

58%

60%

62%

63%

64%

66%

67%

68%

69%

packages without LSB headers

373

363

353

336

325

319

303

292

287

280

269

base packages without LSB headers

2 of 40

1 of 40 (1 of 12 pkgs)

0 of 38 (0 of 10 pkgs)

0

desktop packages without LSB headers

6 of 58

7 of 70 (7 of 39 pkgs)

4 of 75 (4 of 42 pkgs)

With the current rate (2007-12-30) of packages being fixed to include the dependency information, it will take 410 days until all the remaining packages are fixed. Thanks to the default values provided since insserv version 1.09.0-4, most scripts get a useful start sequence position even without an LSB header. Scripts in rcS.d/ need a proper header, still.

All packages installed by more than 0.8% (617 installations) of the population (according to popcon.debian.org) are handled 2008-01-11.

A number of [http://bugs.debian.org/cgi-bin/pkgreport.cgi?usertag=initscripts-ng-devel@lists.alioth.debian.org bug reports] are submitted to request LSB headers in init.d scripts. It is useful to trach [http://bugs.debian.org/cgi-bin/pkgreport.cgi?usertag=initscripts-ng-devel@lists.alioth.debian.org&dist=testing the ones open in testing] as well.

Base packages missing LSB headers: none, all is fixed.

Desktop+laptop packages missing LSB headers: [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=426108 lvm2] [http://bugs.debian.org/448223 anacron]

Known issues

To see the boot and reboot sequence dependecy graph, use

aptitude install insserv graphviz
/usr/share/insserv/check-initd-order -g > boot.dot
/usr/share/insserv/check-initd-order -g -k > reboot.dot
dotty boot.dot
dotty reboot.dot

The number of packages with init.d scripts was counted using apt-file update && apt-file search etc/init.d|cut -d: -f1|sort -u|wc -l in Debian/Sid. The number of packages missing LSB headers are fetched from [http://lintian.debian.org/reports/tags.html the lintian reports] for the [http://lintian.debian.org/reports/Tinit.d-script-missing-lsb-section.html init.d-script-missing-lsb-section] tag. The number of base and desktop packages missing headers were counted by creating chroots with debootstrap and tasksel.

To enable dependency based boot, the [http://packages.qa.debian.org/i/insserv.html insserv] package can be used. At debconf7, Petter Reinholdtsen gave a [http://user.skolelinux.no/~pere/mypapers/200706-bootseq/200706-bootseq.html talk] about the dependency based boot system. To enable it, install the insserv package and activate it like this:

aptitude install insserv && dpkg-reconfigure insserv

Make sure to use insserv version 1.09.0-6 or higher.

To usertag related bugs, send an email to request (at) bugs.debian.org, with content like this:

user initscripts-ng-devel (at) lists.alioth.debian.org
usertag 361054 + incorrect-dependency
usertag 361358 + missing-dependency
thanks

Packages left to fix

Generated using dd-list $(lynx -nolist -dump http://lintian.debian.org/reports/Tinit.d-script-missing-lsb-section.html|grep W: |cut -d: -f2)

Guenter Geiger (Debian/GNU) <geiger@debian.org>
   realtime-lsm

Peter De Schrijver (p2) <p2@mind.be>
   linux-atm

Stefan Hornburg (Racke) <racke@linuxia.de>
   courier
   courier-authlib
   interchange
   pure-ftpd
   sympa

Cyril Lacoux (Yack) <clacoux@easter-eggs.com>
   digitools

Marco Presi (Zufus) <zufus@debian.org>
   linesrv

Stefan Alfredsson <alfs@debian.org>
   monit

Osamu Aoki <osamu@debian.org>
   tpconfig

Ben Armstrong <synrg@sanctuary.nslug.ns.ca>
   xpilot-ng

Don Armstrong <don@debian.org>
   spamass-milter

SZALAY Attila <sasa@debian.org>
   zorp

Artem Baguinski <artm@v2.nl>
   drscheme (U)

Alan Bain <afrb2@debian.org>
   rbootd

Andreas Barth <aba@not.so.argh.org>
   mgetty

Daniel Baumann <daniel@debian.org>
   ipmasq
   nfs-user-server

Hilko Bengen <bengen@debian.org>
   ulog-acctd

Grzegorz Bizon <verdan@pirx.int.pl>
   specter

Bastian Blank <waldi@debian.org>
   lvm2 (U)

Blars Blarson <blarson@blars.org>
   cnews

Achim Bohnet <ach@mpe.mpg.de>
   capisuite (U)

Ed Boraas <ed@debian.org>
   aime
   tinyproxy

W. Borgert <debacle@debian.org>
   blinkd

Cyril Bouthors <cyril@bouthors.org>
   bld
   drbdlinks

Chris Boyle <cmb@debian.org>
   reaim

Joachim Breitner <nomeata@debian.org>
   dmraid (U)

Adrian Bridgett <bridgett@debian.org>
   dante

Eric Van Buggenhaut <ericvb@debian.org>
   udhcp

Bruno Barrera C. <bruno@debian.org>
   portsentry

Patrick Caulfield <patrick@debian.org>
   mopd

Hubert Chathi <uhoreg@debian.org>
   gnustep-base (U)

Emmanuel le Chevoir <mms@debian.org>
   frox

Dennis L. Clark <dbugger@debian.org>
   bnetd

Jesus Climent <jesus.climent@hispalinux.es>
   distmp3
   spamassassin (U)

Russell Coker <rjc@coker.com.au>
   memlockd

Russell Coker <russell@coker.com.au>
   fcron (U)

Jamin W. Collins <jcollins@asgardsrealm.net>
   jabber

Carlo Contavalli <ccontavalli@debian.org>
   wipl

Paul Cupis <paul@cupis.co.uk>
   guarddog
   guidedog

Artur R. Czechowski <arturcz@hell.pl>
   rrdcollect

Marco d'Itri <md@linux.it>
   binkd

Julien Danjou <acid@debian.org>
   greylistd
   ledstats
   lirc (U)
   tetrinetx
   tleds

Debian GNUstep maintainers <pkg-gnustep-maintainers@lists.alioth.debian.org>
   gnustep-base

Debian Hamradio Maintainers <debian-hams@lists.debian.org>
   aprsd
   ssbd

Debian Icecast team <pkg-icecast-devel@lists.alioth.debian.org>
   icecast2

Debian LVM Team <pkg-lvm-maintainers@lists.alioth.debian.org>
   lvm2

Debian Multimedia Team <debian-multimedia@lists.debian.org>
   das-watchdog

Debian Nagios Maintainer Group <pkg-nagios-devel@lists.alioth.debian.org>
   nsca

Debian VoIP Team <pkg-voip-maintainers@lists.alioth.debian.org>
   rtpproxy
   siproxd

Eric Delaunay <delaunay@debian.org>
   scsitools

Bernd Eckenfels <ecki@debian.org>
   net-acct
   transproxy

Robert S. Edmonds <edmonds@debian.org>
   pcaputils

Free Ekanayaka <freee@debian.org>
   das-watchdog (U)

Nick Estes <debian@nickstoys.com>
   upsd

Bartosz Fenski <fenio@debian.org>
   specter (U)

Martín Ferrari <martin.ferrari@gmail.com>
   vtun

Agney Lopes Roth Ferraz <agney@debian.org>
   fnfx

Duncan Findlay <duncf@debian.org>
   spamassassin

sean finney <seanius@debian.org>
   nsca (U)

Decklin Foster <decklin@red-bean.com>
   lastfmsubmitd

Turbo Fredriksson <turbo@debian.org>
   roxen4

Jochen Friedrich <jochen@scram.de>
   isakmpd
   snmptrapfmt

Peter S Galbraith <psg@debian.org>
   xtide

Radovan Garabik <garabik@melkor.dnp.fmph.uniba.sk>
   serpento

Radovan Garabík <garabik@kassiopeia.juls.savba.sk>
   karrigell
   xtell

Hector Garcia <hector@debian.org>
   lirc (U)
   smail

Matthew Garrett <mjg59@srcf.ucam.org>
   netapplet
   nstx

RISKO Gergely <risko@debian.org>
   shaperd

David Gil <dgil@telefonica.net>
   pads

Filippo Giunchedi <filippo@debian.org>
   dmraid (U)

John Goerzen <jgoerzen@complete.org>
   bacula
   pygopherd

Celso González <celso@bulma.net>
   cpudyn

Matthew Grant <grantma@anathoth.gen.nz>
   netscript-2.4

Debian QA Group <packages@qa.debian.org>
   caudium
   emifreq-applet
   masqmail

Daniel Gubser <guterm@debian.org>
   psad
   uptimed (U)

Guido Guenther <agx@sigxcpu.org>
   smartmontools

Aurélien GÉRÔME <ag@roxor.cx>
   dancer-ircd
   dancer-services

Marc Haber <mh+debian-packages@zugschlus.de>
   ifupdown-scripts-zg2
   torrus (U)

Pierre Habouzit <madcoder@debian.org>
   whitelister

Pascal Hakim <pasc@debian.org>
   anacron

Chris Halls <halls@debian.org>
   apt-proxy

Chris Hanson <cph@debian.org>
   tpconfig (U)

David B. Harris <dbharris@debian.org>
   ipband

Eric Heintzmann <eric@gnustep.fr.st>
   gnustep-base (U)

Andres Seco Hernandez <AndresSH@debian.org>
   alamin

Robert D. Hilliard <hilliard@debian.org>
   dictd (U)

Kirk Hilliard <kirk@debian.org>
   dictd

Varun Hiremath <varunhiremath@gmail.com>
   oss-preserve

Henrique de Moraes Holschuh <hmh@debian.org>
   fcron
   rng-tools

Simon Horman <horms@debian.org>
   heartbeat
   perdition

Peter Howard <pjh@northern-ridge.com.au>
   zoneminder

Qingning Huo <qhuo@mayhq.co.uk>
   log2mail

Alberto Gonzalez Iniesta <agi@inittab.org>
   fwlogwatch
   netkit-bootparamd
   xmbmon

Mario Iseli <admin@marioiseli.com>
   irmp3

Ian Jackson <ian@chiark.greenend.org.uk>
   sauce

Ian Jackson <ian@davenant.greenend.org.uk>
   userv

Jan Janak <jan@iptel.org>
   rtpproxy (U)

LENART Janos <ocsi@debian.org>
   jmon

Aurelien Jarno <aurel32@debian.org>
   lirc (U)

Joerg Jaspert <joerg@debian.org>
   muddleftpd

LaMont Jones <lamont@debian.org>
   hpsockd

Karl E. Jorgensen <karl@jorgensen.com>
   battery-stats

Takuo KITAME <kitame@debian.org>
   smtpguard

Bastian Kleineidam <calvin@debian.org>
   fiaif

Matthias Klose <doko@debian.org>
   buildbot
   isdnutils (U)

Achilleas Kotsis <achille@debian.gr>
   ulogd

Steve Kowalik <stevenk@debian.org>
   xringd

Antonin Kral <A.Kral@sh.cvut.cz>
   pimd

Kilian Krause <kilian@debian.org>
   rtpproxy (U)
   siproxd (U)

Anand Kumria <wildfire@progsoc.org>
   tspc

Joshua Kwan <joshk@triplehelix.org>
   nethack

Mario Lang <mlang@debian.org>
   filterproxy

Thomas Lange <lange@debian.org>
   fai

Simon Law <sfllaw@debian.org>
   wvstreams

Chris Lawrence <lawrencc@debian.org>
   gnome-lokkit

Faidon Liambotis <paravoid@debian.org>
   ulogd (U)

John Lines <john@paladin.demon.co.uk>
   plptools
   smtpd

lirc Maintainer Team <pkg-lirc-maint@lists.alioth.debian.org>
   lirc

Pablo Lorenzzoni <spectra@debian.org>
   tcpspy

Ola Lundqvist <opal@debian.org>
   dhttpd
   ledcontrol
   nfsbooted
   ntop

Ian Maclaine-cross <iml@debian.org>
   ddns3-client

Keita Maehara <maehara@debian.org>
   freewnn

Aigars Mahinovs <aigarius@debian.org>
   swapd

Peter Makholm <peter@makholm.net>
   slashem

Santiago Garcia Mantinan <manty@debian.org>
   siproxd (U)

Christoph Martin <christoph.martin@uni-mainz.de>
   mimedefang

Peter Mathiasson <peterm@debian.org>
   pam-devperm

Martin Maurer <fireflier@gibraltar.at>
   fireflier

Brian May <bam@snoopy.debian.net>
   heimdal

Thom May <thom@debian.org>
   puppet (U)

Rene Mayrhofer <rene.mayrhofer@gibraltar.at>
   gibraltar-bootcd

Rene Mayrhofer <rmayr@debian.org>
   pptpd

Jonathan McDowell <noodles@earth.li>
   l2tpns

Neil McGovern <neilm@debian.org>
   blootbot

Steve McIntyre <93sam@debian.org>
   nas
   wmaloader

Kyle McMartin <kyle@ubuntu.com>
   irqbalance

Michael Mende <debian@menole.net>
   wackamole

Abraham vd Merwe <abz@debian.org>
   ixbiff

Michael Meskes <meskes@debian.org>
   jftpgw

Millis Miller <millis@faztek.org>
   iptotal

Loic Minier <lool@dooz.org>
   dmraid (U)
   lirc (U)
   termpkg

Andrew Mitchell <ajmitch@debian.org>
   gnue-appserver

Hamish Moffatt <hamish@debian.org>
   aprsd (U)
   ssbd (U)

lantz moore <lmoore@debian.org>
   rplay

Sam Morris <sam@robots.org.uk>
   pymsnt

James Morrison <phython@debian.org>
   wvstreams (U)

Jose M. Moya <josem@debian.org>
   mathopd

Sven Mueller <sven@debian.org>
   lirc (U)

Ryan Murray <rmurray@debian.org>
   at

Sebastian Muszynski <do2ksm@linkt.de>
   ax25spyd

Gergely Nagy <algernon@debian.org>
   tama

Marco Nenciarini <mnencia@debian.org>
   xtradius

Jaakko Niemi <liiwi@debian.org>
   sfs

Recai Oktaş <roktas@debian.org>
   elog

Masahito Omote <omote@debian.org>
   totd

Patrick Ouellette <pouelle@debian.org>
   aprsd (U)
   ssbd (U)

Sam Hocevar (Debian packages) <sam+deb@zoy.org>
   gnudip
   ipfm
   rinetd

Gerrit Pape <pape@smarden.org>
   cfs
   dropbear

Eloy A. Paris <peloy@debian.org>
   ipxripd
   ncpfs

Patrick Patterson <ppatters@debian.org>
   wvstreams (U)

Javier Fernandez-Sanguino Pen~a <jfs@debian.org>
   bastille
   nessus-core

Javier Fernandez-Sanguino Pen~a <jfs@computer.org>
   honeyd
   pads (U)
   samhain

Víctor Pérez Pereira <vperez@debianvenezuela.org>
   squidtaild

Nick Phillips <nwp@lemon-computing.com>
   teapop

Ari Pollak <ari@debian.org>
   drscheme

Cajus Pollmeier <cajus@debian.org>
   nsca (U)
   uif

Daniel J. Priem <danielpriem@flexserv.de>
   capisuite

Celso Providelo <cprov@gwyddion.com>
   sqcwa

Puppet Package Maintainers <pkg-puppet-devel@lists.alioth.debian.org>
   puppet

Mark Purcell <msp@debian.org>
   gsmlib
   hpoj
   rtpproxy (U)
   siproxd (U)

KELEMEN Péter <fuji@debian.org>
   arpwatch

Stephen Quinney <sjq@debian.org>
   ganglia-monitor-core (U)

Martin Quinson <mquinson@debian.org>
   nws

Ganesan Rajagopal <rganesan@debian.org>
   ipsec-tools
   openslp-dfsg

Simon Raven <simon@nuit.ca>
   blootbot (U)

Sebastian Rittau <srittau@debian.org>
   netatalk (U)

Jaime Robles <jaime@debian.org>
   aprsd (U)
   ssbd (U)

Kurt Roeckx <kurt@roeckx.be>
   ircd-irc2
   openntpd

Piotr Roszatycki <dexter@debian.org>
   ldapdns
   systune

Mats Rynge <mats@rynge.net>
   p3scan

Anibal Monsalve Salazar <anibal@debian.org>
   bpalogin
   ncpfs (U)
   pipsecd
   swapspace

Otavio Salvador <otavio@debian.org>
   apt-proxy (U)

Amaya Rodrigo Sastre <amaya@debian.org>
   lirc (U)

Bernd Schumacher <bernd.schumacher@hp.com>
   secvpn

Frederik Schüler <fs@debian.org>
   wackamole (U)

Vladimir Shakhov <lumpen.intellectual@gmail.com>
   wdm

Guus Sliepen <guus@debian.org>
   inputlirc

Paul Slootman <paul@debian.org>
   isdnutils
   isdnutils (U)

Jurij Smakov <jurij@debian.org>
   torrus (U)

Jonas Smedegaard <dr@jones.dk>
   icecast2 (U)
   netatalk
   netatalk (U)
   pop-before-smtp
   rpld

Roger So <rogerso@debian.org>
   im-sdk
   im-sdk (U)

Jose Carlos Garcia Sogo <jsogo@debian.org>
   siproxd (U)

David Spreen <netzwurm@debian.org>
   anon-proxy

Joop Stakenborg <pa3aba@debian.org>
   aprsd (U)
   cwdaemon
   pingpong
   ssbd (U)

Dennis Stampfer <seppy@debian.org>
   timeoutd

Andrew Stribblehill <ads@debian.org>
   ganglia-monitor-core (U)

Stephan A Suerken <absurd@debian.org>
   gom

Ondřej Surý <ondrej@debian.org>
   bird
   nsd
   postfix-policyd

Bryan Sutula <Bryan.Sutula@hp.com>
   openhpi

Matt Taggart <taggart@debian.org>
   cpqarrayd

Akira TAGOH <tagoh@debian.org>
   im-sdk (U)

Sergio Talens-Oliag <sto@debian.org>
   postman

Jose Luis Tallon <jltallon@adv-solutions.net>
   couriergraph

Stuart Teasdale <sdt@debian.org>
   ganglia-monitor-core

Paul Telford <pxt@debian.org>
   mordor
   mudnames

Jason Thomas <jason@debian.org>
   nagios-statd

Michael Tokarev <mjt@corpit.ru>
   rbldnsd

Torrus maintainers <pkg-torrus-maintainers@lists.alioth.debian.org>
   torrus

Junichi Uekawa <dancer@debian.org>
   rarpd

Fumitoshi UKAI <ukai@debian.or.jp>
   hyperestraier
   quickml
   smtpfeed

Matthias Urlichs <smurf@debian.org>
   mgetty (U)

Utnubu Team <utnubu-maintainers@lists.alioth.debian.org>
   dmraid

Thibaut VARENE <varenet@debian.org>
   uptimed

Matej Vela <vela@debian.org>
   vsftpd

Santiago Vila <sanvila@debian.org>
   postfix-gld
   rbldnsd (U)

Tommi Virtanen <tv@debian.org>
   scalemail

Michael Vogt <mvo@debian.org>
   scanlogd

Riku Voipio <riku.voipio@iki.fi>
   setmixer

Martin Waitz <tali@debian.org>
   oidentd

Lucas Wall <lwall@debian.org>
   popfile

Hanna Wallach <hmw26@cam.ac.uk>
   didiwiki

Chad Walstrom <chewie@debian.org>
   clamsmtp

Jerome Warnier <jwarnier@beeznest.net>
   and

Dan Weber <dan@mirrorlynx.com>
   siproxd (U)

Joerg Wendland <joergland@debian.org>
   ipvsadm

Torsten Werner <twerner@debian.org>
   oss-preserve (U)

Brian White <bcwhite@pobox.com>
   genpower
   squid-prefetch

Carsten Wolff <carsten@wolffcarsten.de>
   distcc

Martin Wuertele <maxx@debian.org>
   bopm

Matt Zimmerman <mdz@debian.org>
   umlrun

Anton Zinoviev <zinoviev@debian.org>
   console-cyrillic


CategoryDeveloper