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

Unexpanded #DEBHELPER# tokens



Hello folks,

[lintian folks, see last paragraph.]

I raised this point a while ago (lvmcfg review, slightly incorrect
since that source package actually ships two udebs, and no debs); and
finally found some time to look into it: #DEBHELPER# in udebs is a bit
of a no-go.

/usr/bin/dh_installdeb has:
|         if (is_udeb($package)) {
|                 # For udebs, only do the postinst, and no #DEBHELPER#.
|                 # Udebs also support menutest and isinstallable scripts.
|                 foreach my $script (qw{postinst menutest isinstallable}) {
|                         my $f=pkgfile($package,$script);
|                         if ($f) {
|                                 doit("install", "-o", 0, "-g", 0, "-m", 755,
|                                      $f, "$tmp/DEBIAN/$script");
|                         }
|                 }
|                 next;
|         }

Meaning lvmcfg's #DEBHELPER# in postinst can't work. I'd go for
removing it entirely as there was no real motivation for its addition.

Under packages/ we have currently:
| $ grep -l '#DEBHELPER#' */debian/*.p* 2>/dev/null
| cdebconf/debian/cdebconf.postinst
| cdebconf/debian/cdebconf.preinst
| console-setup/debian/console-setup-mini.postinst
| console-setup/debian/console-setup.postinst
| console-setup/debian/console-setup.postrm
| console-setup/debian/console-setup-udeb.postinst
| console-setup/debian/keyboard-configuration.postinst
| console-setup/debian/keyboard-configuration.postrm
| debian-installer-launcher/debian/debian-installer-launcher.postinst
| flash-kernel/debian/flash-kernel.postinst
| installation-report/debian/installation-report.postinst
| installation-report/debian/installation-report.postrm
| installation-report/debian/installation-report.preinst
| user-setup/debian/user-setup.postinst

Of those, the only non-udeb package AFAICS is console-setup-udeb. This
one doesn't exhibit this issue since there's some preprocessing
involved in src:console-setup (debian/preprocessor):
|     case "$1" in
|         --udeb)
|             mini=1
|             udeb=1
|             ;;
| …
| if [ "$mini" ]; then
|     sed -e 's/^[ \t]*//' -e 's/^#[^!].*//' -e 's/^#$//' <"$file" >$tmp \
|         && grep . $tmp >"$file"
| fi

Lintian folks, maybe it would be nice to have some check to detect
unexpanded #DEBHELPER# tokens in maintainer scripts (as shipped in
binary packages)?

Mraw,
KiBi.

Attachment: signature.asc
Description: Digital signature


Reply to: