control: tag -1 + patch On 2015-08-03 23:04, Aurelien Jarno wrote: > On 2015-04-17 11:28, Edmund Grimley Evans wrote: > > Source: make-dfsg > > Version: 4.0-8.1 > > > > When building with binutils 2.25-6, the version currently in unstable, > > it fails to build. The output is: > > > > features/archives ....................................... FAILED (3/10 > > passed) > > > > It's clear what's happening here. This entry in the changelog for > > binutils (2.25-6) explains it: > > > > * Configure with --enable-deterministic-archives. Closes: #774429. > > > > Files are added to archives with a zero timestamp so make then adds > > them again, unexpectedly. > > > > However, I'm not sure how you'll want to fix this. Weaken the test > > somehow? > > I have just noted that ar has the 'U' option to disable deterministic > archives. This would allow to still test this part of make. > > Unfortunately ar doesn't take arguments, but rather a list of modifiers > which need to be in the same argument, so we can't use an alias to force > this. We could also have done that using a shell function, but POSIX > shells do not provide a way to export shell functions. We can still do > it by using a wrapper called ar and changing PATH to point first to > the directory containing the wrapper. That's a bit more ugly though.
You'll find below a patch using this approach. I would like to see this longstanding issue fixed soon, so I offer to do an NMU in a few days, unless someone opposes. diff -Nru make-dfsg-4.0/debian/changelog make-dfsg-4.0/debian/changelog --- make-dfsg-4.0/debian/changelog 2015-01-17 18:30:55.000000000 +0000 +++ make-dfsg-4.0/debian/changelog 2015-08-22 09:40:52.000000000 +0000 @@ -1,3 +1,11 @@ +make-dfsg (4.0-8.2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Use a wrapper in the testsuite for ar to force it to not run in + deterministic mode (Closes: #782750). + + -- Aurelien Jarno <aure...@debian.org> Sat, 22 Aug 2015 09:22:54 +0000 + make-dfsg (4.0-8.1) unstable; urgency=medium * Non-maintainer upload. diff -Nru make-dfsg-4.0/debian/rules make-dfsg-4.0/debian/rules --- make-dfsg-4.0/debian/rules 2014-06-13 23:13:45.000000000 +0000 +++ make-dfsg-4.0/debian/rules 2015-08-22 09:24:45.000000000 +0000 @@ -45,10 +45,10 @@ override_dh_auto_test: ifneq (,$(filter make-guile, $(shell dh_listpackages))) - dh_auto_test --parallel -B$(BUILDDIR_GUILE) + PATH=$(CURDIR)/debian/wrappers:$$PATH dh_auto_test --parallel -B$(BUILDDIR_GUILE) endif ifneq (,$(filter make, $(shell dh_listpackages))) - dh_auto_test --parallel -B$(BUILDDIR_NORMAL) + PATH=$(CURDIR)/debian/wrappers:$$PATH dh_auto_test --parallel -B$(BUILDDIR_NORMAL) endif override_dh_auto_install: diff -Nru make-dfsg-4.0/debian/wrappers/ar make-dfsg-4.0/debian/wrappers/ar --- make-dfsg-4.0/debian/wrappers/ar 1970-01-01 00:00:00.000000000 +0000 +++ make-dfsg-4.0/debian/wrappers/ar 2015-08-22 09:27:38.000000000 +0000 @@ -0,0 +1,6 @@ +#!/bin/sh + +# Force ar to not run in deterministic mode, as the testsuite relies +# on UID, GID, timestamp and file mode values to be correctly stored. + +exec /usr/bin/ar U$@ -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net