On Fri, 19 Jan 2018 at 06:29:18 +0200, Adrian Bunk wrote: > debian/rules build > make: Nothing to be done for 'build'.
I think this is probably the same thing as openal-soft bug <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887664>. Both packages have: * a build/ directory in the upstream source * ".PHONY: build" in d/rules * no explicit build target in d/rules, only the usual "%:" implicit rule My theory is that this regressed as a result of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=880840 having been fixed. In https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=880840#20, James Cowgill wrote: > Make ignores implicit rules (like %: dh $@) for phony targets. So the maintainers of these packages thought they had solved the problem by adding ".PHONY: build", but when they moved from an explicit build target to dh minimized style, they broke that assumption; but then their packages built successfully anyway, because they were using a version of debhelper that had #880840, so the contents of the build sequence were redundantly invoked. We can see this happening in reproducible-builds' builds of ck and openal-soft on buster, with: > dh clean > dh_clean > debian/rules build > make: Nothing to be done for 'build'. > fakeroot debian/rules binary > dh binary > debian/rules build > make[1]: Entering directory '/build/ck-0.6.0' > make[1]: Nothing to be done for 'build'. > make[1]: Leaving directory '/build/ck-0.6.0' > dh_update_autotools_config > dh_autoreconf > debian/rules override_dh_auto_configure > make[1]: Entering directory '/build/ck-0.6.0' > ./configure \ > ... and > dpkg-buildpackage: info: host architecture amd64 > fakeroot debian/rules clean > dh clean --builddirectory=/build/openal-soft-1.18.2/build-tree > debian/rules override_dh_auto_clean > make[1]: Entering directory '/build/openal-soft-1.18.2' > rm -rf /build/openal-soft-1.18.2/build-tree > make[1]: Leaving directory '/build/openal-soft-1.18.2' > dh_clean -O--builddirectory=/build/openal-soft-1.18.2/build-tree > debian/rules build > make: Nothing to be done for 'build'. > fakeroot debian/rules binary > dh binary --builddirectory=/build/openal-soft-1.18.2/build-tree > debian/rules build > make[1]: Entering directory '/build/openal-soft-1.18.2' > make[1]: Nothing to be done for 'build'. > make[1]: Leaving directory '/build/openal-soft-1.18.2' > dh_update_autotools_config > -O--builddirectory=/build/openal-soft-1.18.2/build-tree > dh_autoreconf -O--builddirectory=/build/openal-soft-1.18.2/build-tree > debian/rules override_dh_auto_configure (It looks as though the entire build for openal-soft was done under fakeroot as a result of this, which isn't great for robustness.) Debhelper maintainers: do you consider this to be something that should be addressed in debhelper, or in the affected packages like ck and openal-soft? smcv