Hi Jörg!

On Wed, 20 Aug 2008 12:45:11 +0200, Jörg Sommer wrote:
> Luca Capello schrieb am Tue 19. Aug, 22:53 (+0200):
>> According to [1], I'd say that bootchart is correct, since it should be
>> started after rmnologin:
>>
>>   # Required-Start:    $remote_fs rmnologin
>
> I don't think so.

I think you have missed my point, which is not at all related to bootchart.

- with the current situation (i.e. a default Debian installation and no
  insserv), rmnologin is started just before stop-bootlogd:
  =====
  (sid-amd64)[EMAIL PROTECTED]:/# ls -1 /etc/rc2.d/
  README
  S99rc.local
  S99rmnologin
  S99stop-bootlogd
  (sid-amd64)[EMAIL PROTECTED]:/#
  =====

- as soon as insserv is enabled, rmnologin becomes the last script:
  =====
  (sid-amd64)[EMAIL PROTECTED]:/# apt-get install insserv
  [...]
  (sid-amd64)[EMAIL PROTECTED]:/# update-bootsystem-insserv
  [...]
  (sid-amd64)[EMAIL PROTECTED]:/# ls -1 /etc/rc2.d/
  README
  S01rc.local
  S02stop-bootlogd
  S03rmnologin
  (sid-amd64)[EMAIL PROTECTED]:/#
  =====

  This is plainly wrong and has nothing to do with bootchart, since
  stop-bootlogd should start *after* rmnologin, according to the LSB
  headers:
  =====
  (sid-amd64)[EMAIL PROTECTED]:/# grep Required-Start /etc/init.d/rmnologin
  # Required-Start:    $remote_fs $all
  (sid-amd64)[EMAIL PROTECTED]:/# grep Required-Start /etc/init.d/stop-bootlogd
  # Required-Start:    $remote_fs rmnologin
  (sid-amd64)[EMAIL PROTECTED]:/#
  =====

Now let bootchart enters the game!

- with no inserv:
  =====
  (sid-amd64)[EMAIL PROTECTED]:/# ls -1 /etc/rc2.d/
  README
  S99bootchart
  S99rc.local
  S99rmnologin
  S99stop-bootlogd
  (sid-amd64)[EMAIL PROTECTED]:/#
  =====

  And I've just discovered that this situation is wrong as well:
  S99rc.local could cointain other processes which would take time and
  would not be taken into account by bootchart.  Thus, we need something
  like S99z_bootchart.  Should I file a new bug?

- with insserv:
  =====
  (sid-amd64)[EMAIL PROTECTED]:/# ls -1 /etc/rc2.d/
  README
  S01rc.local
  S02bootchart
  S02stop-bootlogd
  S03rmnologin
  (sid-amd64)[EMAIL PROTECTED]:/#
  =====

  Again, this is wrong, since according to the LSB headers:
  =====
  (sid-amd64)[EMAIL PROTECTED]:/# grep Required-Start /etc/init.d/bootchart
  # Required-Start:    $remote_fs rmnologin
  (sid-amd64)[EMAIL PROTECTED]:/#
  =====

> It's valid to place the rmnologin script earlier in the boot sequence,
> if you use a graphical login. Then bootchart would stop to early.

While rmnologin can be started before, this is not the case in a plain
Debian installation.  However, from my points above, we can assume that
the last script is stop-bootlogd and not rmnologin, thus I'd say that
bootchart should be started *after* stop-bootlogd.

> On <http://wiki.debian.org/LSBInitScripts>, it's said about $all:
> ‘facility supported by insserv to start a script after all the other
> scripts, at the end of the boot sequence.’ This is exactly what I want
> ‘at the end of the boot sequence.’ Therefore, I think $all is correct
> and enough.

Again, given the points above, the correct line should be:

  # Required-Start:    $remote_fs stop-bootlogd

This, however, generates another problem: stop-bootlogd isn't started at
init 1, while bootchart yes.

> If insserv doesn't comply the spec, it's a bug in insserv. If the spec
> isn't grantable, the spec should be reworked.

This is exactly my point: it seems that insserv doesn't completely
respect the Required-Start header.

Thx, bye,
Gismo / Luca

Attachment: pgpX2KiavlrBX.pgp
Description: PGP signature

Reply via email to