Petter Reinholdtsen wrote:
[Michael Biebl]
I noticed a rather inconsistent behaviour of insserv.

1.) Removing runlevels from Default-Start or Default-Stop, doesn't make
insserv remove the symlinks from those run levels.
One has to run insserv -r $service && insserv $service
This is rather cumbersome, because if you change the header file, you'd have to run insserv -r manually.

This is the intended behaviour, as the symlinks presense in rcX.d/
directories are considered configuration and should be used instead of
the header when present.  So the Default-Start or Default-Stop are
only used when a script is inserted for the first time.  After that,
the symlinks override the Default-Start or Default-Stop values.

I don't agree with that. Imho the primary information source should be the LSB init header and the symlinks should be kept in sync with this information. Please keep in mind, that in the example above, I didn't manually change/remove/add any symlinks, all I did was to change the value of the Default-Start stanza. If I actually did any local modifications (like e.g. manually removing a symlink from runlevel 2), then such a change should be preserved by insserv. In summary, insserv should know, if the existing symlinks have local modifications, or not. If not, it should update the symlinks to match the information in the LSB init header.

Example: As maintainer of dbus, I decide that dbus-daemon doesn't need kill symlinks for 0 6, so I remove 0 6 from Default-Stop. On package upgrades the obsolete symlinks should be removed automatically. Otherwise I have to write a postinst script, have to run "update-rc.d dbus remove" and mustn't forget to use -f, otherwise dbus is not removed as a lot of other services depend on it. This is error prone and cumbersome.

Michael


--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to