[pve-devel] [PATCH tar 2/5] Don't pass the '--print-directory' MAKEFLAGS to debian/rules

Emmanuel Kasper e.kasper at proxmox.com
Mon Apr 18 10:08:42 CEST 2016

Calling a sub Makefile from a top Makefile causes
make to pass a default 'w' flag aka print-directory.
However debian/rules in tar packages use these inherited MAKEFLAGS
without prepending a dash, causing the 'w' string to be interpreted
as a target.

The error is then as such:

RSH="/usr/bin/rsh" CPPFLAGS="`dpkg-buildflags --get CPPFLAGS`" CFLAGS="`dpkg-buildflags --get CFLAGS` -Wall" \
    LDFLAGS="`dpkg-buildflags --get LDFLAGS`" /usr/bin/make w -j --jobserver-fds=3,4
    make[2]: Entering directory '/home/e.kasper/pve/tar/tar-1.28'
    make[2]: *** No rule to make target 'w'.  Stop.

As discussed in debian-devel in https://lists.debian.org/debian-devel/2016/04/msg00279.html
the problem comes from the tar debian/rules passing $(MAKEFLAGS) manually when it shouldn't
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 677e245..c6e0b6b 100644
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@ deb ${DEB}: ${TARSRC}
 	mv ${TARDIR}/debian/changelog ${TARDIR}/debian/changelog.org
 	cat changelog ${TARDIR}/debian/changelog.org >${TARDIR}/debian/changelog
 	cd ${TARDIR}; patch -p1 <../fix-sparse-archives.patch
-	cd ${TARDIR}; dpkg-buildpackage -b -uc -us
+	cd ${TARDIR}; dpkg-buildpackage -b -uc -us -R"$(MAKE) --no-print-directory -f debian/rules"
 .PHONY: upload

More information about the pve-devel mailing list