Hi, This package fails to build a source package after a successful build (dpkg-buildpackage ; dpkg-buildpackage -S). This is probably a clear violation of Debian Policy section 4.9 (clean target), but this is filed as severity:minor for now, because a discussion on debian-devel showed that we might want to revisit the requirement of a working 'clean' target. More information about this class of issues, included common problems and solutions, is available at https://wiki.debian.org/qa.debian.org/FTBFS/SourceAfterBuild Relevant part of the build log: The full build log is available from: http://qa-logs.debian.net/2023/08/13/mle_1.7.2-1_unstable.log If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.
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