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

Re: kernel-package hooks transition



On Sun, Dec 25, 2005 at 03:34:43PM +0000, Colin Watson wrote:
> On Sun, Dec 25, 2005 at 01:51:00AM +0100, Sven Luther wrote:
> > On Sat, Dec 24, 2005 at 05:30:26PM +0000, Colin Watson wrote:
> > > On Sat, Dec 24, 2005 at 05:03:17PM +0100, Sven Luther wrote:
> > > > Notice that the debconf helper scripts provide stdout on &3, so any
> > > > scripts writing to stdout only need to redirect their output to &3, no

> > > My impression is that these days maintainer scripts are much better
> > > about not mixing up debconf interaction with normal use of stdout, and
> > > so it's still possible that the fd 3 hack will be removed some day.

> > Ok, now i read it all, shouldn't really be replying to email after the
> > christmas party ... :)

> Likewise, on Christmas Day I haven't really looked at this issue in any
> depth. :-)

> > So, do you have any idea of what is going wrong here and how to fix it ? I
> > mean having hosed powerpc kernels over christmas is really not the nicest
> > thing to have happen, and i really don't understand the subtleties of what is
> > going on here.

> > k-p uses debconf (probably using the perl helpers you mentioned), and does a
> > db_stop before calling the script hooks.

> The STOP command causes the debconf frontend to shut down; that would
> certainly break anything trying to talk to debconf after it. May be
> worth removing that and seeing if things start working.

> I haven't checked if kernel-package runs anything else that would
> require it to use STOP. It seems a little unlikely that it would be
> starting up any daemons, though. Note a common misconception: the STOP
> command does *not* put your file descriptors back the way they were
> before you started the debconf frontend.

Indeed, not only does STOP not restore your file descriptors, it also leaves
a sentinel value in the environment which prevents debconf-using children
from successfully restarting the frontend.  STOP should only be used when
you need to force-kill the frontend because of other processes that will
otherwise leave dangling file descriptors open to it after your scripts
exit.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon@debian.org                                   http://www.debian.org/

Attachment: signature.asc
Description: Digital signature


Reply to: