On Sun, Aug 13, 2023 at 6:59 PM Lucas Nussbaum <[email protected]> wrote:
>
> Source: mle
> Version: 1.7.2-1
> Severity: minor
> Tags: trixie sid ftbfs
> User: [email protected]
> Usertags: ftbfs-sab-20230813 ftbfs-source-after-build
> User: [email protected]
> Usertags: qa-doublebuild
>
> Hi,
>
> This package fails to build a source package after a successful build
> (dpkg-buildpackage ; dpkg-buildpackage -S).

Fixed upstream:
https://github.com/adsr/mle/commit/4f625ea71b9f3184b048eacacbe3ca5440020f12

Details:

I tracked this down to `exists_make_target` in
`lib/Debian/Debhelper/Buildsystem/makefile.pm` which doesn't think
"clean" is a valid target because it sees "No rule to make target" in
dry-run output of `make clean`. The rule does exist, however it also
invokes "clean" on `vendor/Makefile`, which is where that error output
is coming from. (Interesting to note that `make` will invoke sub-make
commands even in dry-run mode.) The error output is a result of git
submodules missing. (The source tree is optimized for building against
submodules so users doing a git checkout don't have to install
anything.) I had tried hedging against this by ignoring failures in
that make rule, but per the in-line docs of `exists_make_target`, it
has to rely on parsing stdout instead of exit codes.

I confirmed adding an `override_dh_auto_clean` rule with a plain `make
clean` fixes. However I think it's a smidge cleaner to avoid running
that sub-clean command altogether if the Makefile doesn't exist.

Adam

Reply via email to