[debhelper-devel] Bug#886518: debhelper makes packages FTBFS: dh: Internal error: debian/rules install-arch is a rules target, but it is not supported to be!?

Niels Thykier niels at thykier.net
Sun Jan 7 10:34:00 UTC 2018


On Sun, 7 Jan 2018 08:05:13 +0100 Helmut Grohne <helmut at subdivi.de> wrote:
> Package: debhelper
> Version: 11.1
> Severity: serious
> Control: affects -1 + src:file
> User: helmutg at debian.org
> Usertags: rebootstrap
> 
> Building file started to fail tonight. The new error comes from
> debhelper and debhelper was the thing that was uploaded. Very likely,
> debhelper is the culprit, but it might as well be wrong. You'll figure
> out. :) Log below.
> 
> Helmut
> 
> [...]
> 



This bug is limited to debhelper/11.1.  A package is affected by this
bug if ALL of the below holds:

 * It uses the dh sequencer
 * It uses compat 9
 * It has an explicit rules target for at least one of the debhelper
   sequences:
     - build(-arch|-indep)
     - install(-arch|-indep)
     - binary-(arch|indep)
 * It relies on debian/rules recursion (as opposed to the legacy
   sequence control parameters such as --until, --before and --after)

To our knowledge, ANY of the following cases below should be unaffected
by this bug:

 * Packages using "classic debhelper" or cdbs instead of the
   dh-sequencer
 * Packages using dh but with a compat level != 9
 * Packages using dh and compat 9 with all of the debhelper sequences
   targets being implicit targets.
   - They can use override targets as well without any issues.

The cause:
==========

The issue was caused by dh having an off-by-one in a compat check that
caused it to handle the rules for partly as compat 9 and partly as
compat 8 at the same time.  This off-by-one was introduced in the 11.1
release.
  However, this combination is not designed to mix as compat 8 does not
recurse into the rules files, while compat 9 does.  This tripped a new
control check introduced in 11.1 that terminated dh with an internal
error rather than continuing the build in this inconsistent state.

Thanks,
~Niels




More information about the debhelper-devel mailing list