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

