Santiago Vila: > When looking at the different reports which I have received so far, I > see that some of them have the goal of making the build reproducible > in the sense of "same file contents" (i.e. unpackaged file tree after > dpkg-deb -x), while the most recent reports seem to have the stronger > goal of "completely identical .deb" (which involves the clever > touch/BUILD_DATE debian/rules trick usually found in the most recent > pacthes received). > > The questions: > > * Was "identical .deb file" already the goal at the very beginning, or > was the goal changed to that after the project started? (possibly > after realizing that it was easy to achieve).
At least for me, it always have been the goal. In my dreams, maintainers would stop uploading .deb to the archive, but keep the checksums in the .changes. buildds would then perform the build, and the binary packages would only enter the archive if the buildd products match the ones from the maintainer. > * Does dh really take care of the build date issue to achieve a > completely identical .deb? In the case of unzip, using dh would make the changes to debian/rules unnecessary. The upstream patch would still be needed though. > > diff -Nru unzip-6.0/debian/patches/13-remove-build-date > > unzip-6.0/debian/patches/13-remove-build-date > > --- unzip-6.0/debian/patches/13-remove-build-date 1970-01-01 > > 01:00:00.000000000 +0100 > > +++ unzip-6.0/debian/patches/13-remove-build-date 2015-04-18 > > 21:59:26.000000000 +0200 > > @@ -0,0 +1,16 @@ > > +Description: Remove build date > > + In order to make unzip build reproducibly, we remove the > > + (already optional) build date from the binary. > > +Author: Jérémy Bobbio <[email protected]> > > + > > +--- unzip-6.0.orig/unix/unix.c > > ++++ unzip-6.0/unix/unix.c > > +@@ -1705,7 +1705,7 @@ void version(__G) > > + #endif /* Sun */ > > + #endif /* SGI */ > > + > > +-#ifdef __DATE__ > > ++#if 0 > > + " on ", __DATE__ > > + #else > > + "", "" > > I would rather undefine __DATE__ so that I don't even have to touch > the source code (will find the way to do that, don't worry). > > In either case, I will forward this upstream because I see it as an > upstream bug (maybe they remove the __DATE__ stuff altogether, who > knows?) Yes! Please do take such changes upstream. They might benefit the wider free software world. :) You can redefined __DATE__ but then the pre-precosser will issue a warning: $ echo __DATE__ | cpp -D "__DATE__=\"Now\"" # 1 "<stdin>" # 1 "<command-line>" <command-line>:0:0: warning: "__DATE__" redefined [-Wbuiltin-macro-redefined] # 1 "<stdin>" "Now" Thanks for your consideration! -- Lunar .''`. [email protected] : :Ⓐ : # apt-get install anarchism `. `'` `-
signature.asc
Description: Digital signature

