[debhelper-devel] Bug#876689: dh_strip: deprecation warning masks message for error

Niels Thykier niels at thykier.net
Tue Sep 26 18:53:00 UTC 2017


This bug causes debhelper to discard the actual error message (i.e. the
actual reason why the options are invalid).

TL;DR:
  If your package fails due to debhelper 10.9, please check if you
  passed invalid/unknown package name to -p / --package or -N /
  --no-package.  This is the single most common reason for an error.


To understand when/why this bug triggers, there is an example below
based on a concrete error in the source package "webhook":
> dh binary --buildsystem=golang --with=golang --with systemd
>    dh_testroot -O--buildsystem=golang
>    [...]
>    dh_systemd_enable -O--buildsystem=golang
>    debian/rules override_dh_installinit
> make[1]: Entering directory '/build/1st/webhook-2.5.0'
> dh_systemd_enable -popenstack --name=openstack openstack.service
> dh_systemd_enable: unknown option or error during option parsing; aborting
> debian/rules:17: recipe for target 'override_dh_installinit' failed

The *actual* error message that is hidden here is that the "-popenstack"
option, because webhook does not built a binary package called "openstack".

To trigger this bug, several things must be present:

 * There must be an invalid option passed to a helper.  This is the
   -popenstack in the above example.

 * The helper must also receive a "-O<something>" option via DH_OPTIONS
   (or DH_INTERNAL_OPTIONS).  Often, this triggers via option passed to
   "dh", which adds it to DH_OPTIONS when invoking override targets.
   In the concrete example, this is "-O--buildsystem=golang".

To "undo" the bug and get the original error message, you can /often/
just unset DH_OPTIONS / DH_INTERNAL_OPTIONS and call the helper with the
shown options.

Thanks,
~Niels




More information about the debhelper-devel mailing list