<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans Mono'; font-size:9pt; font-weight:400; font-style:normal;">On Saturday 18 April 2009 03:46:04 Henrique de Moraes Holschuh wrote:<br />&gt; On Fri, 17 Apr 2009, Michael Biebl wrote:<br />&gt; &gt; Henrique de Moraes Holschuh wrote:<br />&gt; &gt; &gt; On Fri, 17 Apr 2009, Michael Biebl wrote:<br />&gt; &gt; &gt;&gt; I think, one missing piece is a proper interface for updating init<br />&gt; &gt; &gt;&gt; script priorities (if the depencies or the list of runlevel changes) in<br />&gt; &gt; &gt;&gt; a policy compliant way.<br />&gt; &gt; &gt; <br />&gt; &gt; &gt; There is no such interface in this case (if we had one, insserv would have<br />&gt; &gt; &gt; to make it a no-op).  You have to edit the initscript metadata directly<br />&gt; &gt; &gt; (because it is embedded in comment headers on the initscript itself) to do<br />&gt; &gt; &gt; such changes, then tell the system to rebuild the initscript dependency<br />&gt; &gt; &gt; tree.<br />&gt; &gt; <br />&gt; &gt; How do you do that exactly while preserving local modifications?<br />&gt; <br />&gt; The local modifications have to be done on the initscript headers, which are<br />&gt; conffiles since the dawn of time.  The user is warned that by switching to a<br />&gt; dependency-based initscript system, the old order information is deemed<br />&gt; irrelevant and thus completely ignored.<br />&gt; <br />&gt; There is also an override directory that can be used to change the<br />&gt; dependency headers instead of editing the initscript, but we should get rid<br />&gt; of any need to ship files in there as part of the release goal (local admin<br />&gt; can place stuff there as he wishes).<br />&gt; <br />&gt; So, you can have local modifications to the *DEPENDENCY* information in an<br />&gt; override directory.<br /><br />I'm pretty sure there is a misunderstanding here. An interface for modifying<br />unmodified script properties (such as what runlevels it starts/stops) is<br />desirable for use in package maintainer scripts when a new version of the<br />package wishes to change the scripts start/stop or sequence/dependency<br />properties. That is what Michael is poking us about.<br /><br />An interface for this was proposed for legacy (aka sysv-rc's) update-rc.d:<br />http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/2008-September/002865.html<br /><br />The discussion went cold after Michael posited that the proposed interface is<br />prone to error because it relies on a human to write out a snippet of shell<br />code in a maintainer script. A similar interface could exist for insserv's<br />update-rc.d. I am without any better ideas at this time.<br /><br />&gt; <br />&gt; &gt; Do you propose maintainer scripts should add special case code for insserv?<br />&gt; <br />&gt; I don't think that would be needed.  During a dpkg run, a single insserv run<br />&gt; at the end of the dpkg run should be scheduled (if insserv is active) via<br />&gt; the dpkg triggers and also by any calls to update-rc.d (which will just<br />&gt; schedule the insserv run, really), as well as changes to /etc/init.d/* and<br />&gt; the insserv override directories.<br /><br />Actually, I do not believe it would be good to have insserv run on a<br />dpkg-trigger, that could potentially open the door for larger problems than<br />can occur when each script is inserted individually at package postinst time.<br />In the latter case, if an error occurs it is due to only one script<br />addition/modification and the problem is more easily rectified.<br /><br />&gt; <br />&gt; Nobody said anything about getting rid of non-dependency-based boot for<br />&gt; Squeeze, BTW.  We should aim to make dependency-based (and if at all<br />&gt; possible, parallel execution) perfect, and the default... but not the only<br />&gt; option, at least not yet.  Maybe for squeeze+1 or squeeze+2.<br />&gt; <br /><br />Thanks, Kel.</p></body></html>