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

Re: kernel-package hooks transition



On Sat, Dec 24, 2005 at 09:19:36AM -0600, Manoj Srivastava wrote:
> Hi,
> 
>         In the recent 10.X series, kernel package has started
>  producing image packages whose maintainer scripts use debconf for
>  user interaction.  Unfortunately, this meant that any hook scripts
>  called in the maintainer scripts for the image package (update-grub
>  comes to mind), if they wrote anything at all to the STDout, would
>  cause debconf to throw hissy fits, since it was expecting commands on
>  STDOUT, not random chatter from the hook scripts.
> 
>         One solution was to call db_stop before calling the hook
>  scripts, and redirecting stdout to stderr  in hte invocation of the
>  scripts. Unfortunately, this made any scripts that used debconf
>  impossible.

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 ? 

Another idea would be to have some tag or something to declare if the script
uses debconf or not, and to do the redirection depending on that ? It could be
parsing for something like :

<comment delimiter> KPKG-TAG: debconf

(where <comment delimiter> is # for shell scripts, obviously).

This would allow for the most flexibility, and still work out fine, and
parsing would be a simple grep command, so rather cheap (if grep
KPKG-TAG.*debconf; then debconf stuff; else non-debconf stuff; fi)

Oh and BTW, 10.023 did not fix the mkvmlinuz problem, not sure if you saw me
reopening the bug reports. I will try to investigate this on tuesday, altough
i am really lost about this and help will be welcomed.

For powerpc users, a workaround is to remove the debconf stuff by hand. There
are two scripts : 

/etc/kernel/postinst.d/mkvmlinuz and /etc/kernel/prerm.d/mkvmlinuz

And the best way is to replace the lines : 

  . /usr/share/debconf/confmodule

  db_get mkvmlinuz/bootloaders
  bootloader="$RET"

by :

  bootloader=<your_choice>

Where <your_choice> is yaboot on pmac and rs6k, and mkvmlinuz otherwise.

Friendly,

Sven Luther



Reply to: