[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dependency-based boot ordering and sysvinit in unstable

severity 678231 serious
severity 676473 serious
forgemerge 676463 678231 676473
tags 676463 + pending

On Thu, Jun 07, 2012 at 09:31:47PM +0100, Roger Leigh wrote:
> Hi,
> If you're using unstable and you're using static boot ordering with
> sysv-rc, you might have run into #676463/#676520.
> We've been using dynamic dependency-based boot ordering by default for
> quite some time now.  However, if you had a lenny (or earlier) system,
> prior to sysv-rc 2.88dsf-23, users had a choice between opting to
> remain using the old static legacy boot ordering, or to enable dynamic
> dependency-based boot ordering.  In 2.88dsf-23, the question is
> removed, and dynamic boot ordering will be enabled on all systems.
> For the majority of users, this won't cause any problems at all.
> However, if you have any lingering scripts without any LSB headers,
> you'll need to fix them up or remove them to allow dynamic boot
> ordering to be enabled.  This is obviously not too desirable, since
> it requires fixing things up by hand.  But it doesn't break anything
> either (other than requiring you to fix things to continue--the boot
> ordering will be unaffected until the migration can proceed).
> Ideally, we would be able to skip the sanity checks and just enable it
> anyway, with the non-LSB scripts getting ordered after all the LSB
> scripts.  This should satisfy the (absent) dependencies in all but the
> most insane of cases.  But this does require testing carefully, which
> is why it's not done at the present time.

The packages at http://people.debian.org/~rleigh/sysvinit/
remove all the old sanity checks and permit insserv to run
when scripts without LSB headers are present.  The scripts
get ordered at the end of $all.  i.e. they are run after
all scripts with LSB headers, but before rc.local and other
scripts that require $all to be run before them.

This should be safe to do in all cases, with the exception
being any custom scripts which are ordered in a specific
place in the runlevel.  These will now most likely get
run later than previously.  However, running after all
system-provided services are started will usually be the
correct thing to do.  This will only cause problems if
the script must start strictly before a particular
service starts.  In this situation, you'll need to
add an LSB header describing the specific dependencies.

I'd be grateful for any testing and feedback of the above
prerelease packages before they get uploaded to unstable.
Unless there are any major objections to this change, I'd
like to upload this later in the week.


  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux    http://people.debian.org/~rleigh/
 `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
   `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800

Reply to: