Manoj Srivastava announces that people shoulc be fixing their postinst scripts not to scribble to stdout.
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
So, either we ban scripts that are interactive, or scripts
that scribble on stdout. Since the former makes some functionality
impossible (some scripts can delicer added functionality and
flexibility of they can interact with users), and the latter just
needs a code change, I would prefer to ask packages that provide
scripts to be used in kernel image postinst/postrm to use debconf for
user interaction, and to send diagnostics to STDERR.
A big FAT warning shall be installed in NEWS.Debian for
kernel-package. Since this change potentially shall make people who
use Sid have kernel-images whose postinst fails (though the kernel
image is fine, in most cases, and boots all right), I decided that
using d-d-a was justified.
I would appreciate people fixing their postinst scrripts not
to scribble to stdout.
– I like your game but we have to change the rules. Manoj Srivastava <email@example.com> <http://www.debian.org/%7Esrivasta/> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C