[Reproducible-builds] Bug#780955: openssl: please make the build reproducible
Source: openssl Version: 1.0.1k-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi, I noticed that the package openssl[1] could not be build reproducibly. The attached patch modifies the crypto/Makefile and util/mkbuildinf.pl so that the first can pass a fixed date to the later, avoiding inserting the localtime into the build. debian/rules has also been modified to export a variable containing the date of the last changelog, to be used as a timestamp. [1] https://reproducible.debian.net/rb-pkg/unstable/amd64/openssl.html diff --git a/crypto/Makefile b/crypto/Makefile index 2b6397a..7396d47 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -55,7 +55,8 @@ top: all: shared buildinf.h: ../Makefile - $(PERL) $(TOP)/util/mkbuildinf.pl $(CFLAGS) $(PLATFORM) buildinf.h + $(PERL) $(TOP)/util/mkbuildinf.pl $(CFLAGS) $(PLATFORM) $(DATE) \ + buildinf.h x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl $(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@ diff --git a/debian/rules b/debian/rules index 615ce02..cf84660 100755 --- a/debian/rules +++ b/debian/rules @@ -15,6 +15,9 @@ package=openssl # For generating the manpages export VERSION=$(shell dpkg-parsechangelog | grep '^Version:' | sed -e 's/^.*://' -e 's/-.*//') +export DATE := $(strip $(shell LC_ALL=C dpkg-parsechangelog --show-field Date | \ + LC_ALL=C date -u --file=- +%c)) + # The binary architeture DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_HOST_MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) diff --git a/util/mkbuildinf.pl b/util/mkbuildinf.pl index 9d7b81c..7a14958 100755 --- a/util/mkbuildinf.pl +++ b/util/mkbuildinf.pl @@ -1,9 +1,11 @@ #!/usr/local/bin/perl -my ($cflags, $platform) = @ARGV; +my ($cflags, $platform, $date) = @ARGV; $cflags = compiler: $cflags; -$date = localtime(); +if (!$date) { +$date = localtime(); +} print END_OUTPUT; #ifndef MK1MF_BUILD /* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */ ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#780864: cryptsetup: please make the build reproducible
Source: cryptsetup Version: 2:1.6.6-5 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi, I noticed that the package cryptsetup[1] could not be build reproducibly. The attached patch fixes the timestamp included in the man pages (taken from the changelog) to be the same independently of the timezone of the machine. [1] https://reproducible.debian.net/rb-pkg/unstable/amd64/cryptsetup.html --- cryptsetup-1.6.6/debian/rules.cpy 2015-03-20 19:33:43.298048409 +0100 +++ cryptsetup-1.6.6/debian/rules 2015-03-20 19:35:03.738447291 +0100 @@ -7,9 +7,8 @@ DEB_VERSION := $(strip $(shell LC_ALL=C dpkg-parsechangelog | \ egrep '^Version:' | head -n1 | cut -f2 -d ' ')) -DEB_DATE:= $(strip $(shell LC_ALL=C dpkg-parsechangelog | \ - egrep '^Date:'| head -n1 | cut -f2- -d ' ' | \ - LC_ALL=C date --file=- +%F )) +DEB_DATE:= $(strip $(shell LC_ALL=C dpkg-parsechangelog --show-field Date | \ + LC_ALL=C date -u --file=- +%F)) # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788000: libranlip: please make the build reproducible
Source: libranlip Version: 1.0-4.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that libranlip could not be built reproducibly. The attached patch removes extra timestamps from the gzip files and sets the files mtime to a known value (last debian package changelog date) before calling `dpkg --build` to generate the binary packages. Once applied, libranlip can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/libranlip-1.0/Makefile.in b/libranlip-1.0/Makefile.in index df35f5d..8225ad4 100644 --- a/libranlip-1.0/Makefile.in +++ b/libranlip-1.0/Makefile.in @@ -409,7 +409,7 @@ am__remove_distdir = \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ rm -fr $(distdir); }; } -GZIP_ENV = --best +GZIP_ENV = --best -n distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print diff --git a/libranlip-1.0/debian/rules b/libranlip-1.0/debian/rules index 6ca7323..9f389e3 100755 --- a/libranlip-1.0/debian/rules +++ b/libranlip-1.0/debian/rules @@ -3,6 +3,7 @@ # Copyright (c) 2005 Juan Esteban Monsalve Tobon este...@v7w.com STRIP = strip --remove-section=.comment --remove-section=.note +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) build: $(checkdir) @@ -54,7 +55,7 @@ binary-arch: checkroot build cp -p debian/changelog debian/libranlip1c2/usr/share/doc/libranlip1c2/changelog.Debian cp -p docs/ranlip.ps debian/libranlip1c2/usr/share/doc/libranlip1c2/ cp -p examples/ranliptest* examples/makefile debian/libranlip1c2/usr/share/doc/libranlip1c2/examples - cd debian/libranlip1c2/usr/share/doc/libranlip1c2 gzip -9 changelog.Debian ranlip.ps examples/* + cd debian/libranlip1c2/usr/share/doc/libranlip1c2 gzip -9n changelog.Debian ranlip.ps examples/* ln -s libranlip1c2 debian/libranlip-dev/usr/share/doc/libranlip-dev @@ -64,6 +65,8 @@ binary-arch: checkroot build chown -R root.root debian/libranlip1c2 chmod -x debian/libranlip1c2/usr/lib/ranlip/* chmod -R go=rX debian/libranlip1c2 + find debian/libranlip1c2 -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/libranlip1c2 .. dpkg-gencontrol -isp -plibranlip-dev -Pdebian/libranlip-dev @@ -71,6 +74,8 @@ binary-arch: checkroot build chown -R root.root debian/libranlip-dev chmod -x debian/libranlip-dev/usr/lib/ranlip/libranlip.a debian/libranlip-dev/usr/lib/ranlip/libranlip.la chmod -R go=rX debian/libranlip-dev + find debian/libranlip-dev -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/libranlip-dev .. define checkdir signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787998: perdition: please make the build reproducible
Source: perdition Version: 2.1-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that perdition could not be built reproducibly. The attached patch removes extra timestamps from the gzip files. Once applied, perdition can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/perdition-2.1/debian/rules b/perdition-2.1/debian/rules index 542c195..a018e65 100755 --- a/perdition-2.1/debian/rules +++ b/perdition-2.1/debian/rules @@ -61,22 +61,22 @@ install: build chmod 755 $(pwd)/debian/tmp/usr/share/doc/perdition install -c -m 644 perdition/db/nis/README.perditiondb_nis \ $(pwd)/debian/tmp/usr/share/doc/perdition/README.perditiondb_nis - gzip --best \ + gzip --best -n \ $(pwd)/debian/tmp/usr/share/doc/perdition/README.perditiondb_nis install -c -m 644 README \ $(pwd)/debian/tmp/usr/share/doc/perdition/README - gzip --best $(pwd)/debian/tmp/usr/share/doc/perdition/README + gzip --best -n $(pwd)/debian/tmp/usr/share/doc/perdition/README install -c -m 644 ChangeLog \ $(pwd)/debian/tmp/usr/share/doc/perdition/changelog - gzip --best $(pwd)/debian/tmp/usr/share/doc/perdition/changelog + gzip --best -n $(pwd)/debian/tmp/usr/share/doc/perdition/changelog install -c -m 644 TODO \ $(pwd)/debian/tmp/usr/share/doc/perdition/TODO - gzip --best $(pwd)/debian/tmp/usr/share/doc/perdition/TODO + gzip --best -n $(pwd)/debian/tmp/usr/share/doc/perdition/TODO mkdir -p $(pwd)/debian/tmp/usr/share/doc/perdition-ldap install -c -m 644 perdition/db/ldap/perdition.schema \ $(pwd)/debian/tmp/usr/share/doc/perdition-ldap/perdition.schema - gzip --best \ + gzip --best -n \ $(pwd)/debian/tmp/usr/share/doc/perdition-ldap/perdition.schema dh_movefiles --source=debian/tmp signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787999: libwebcam: please make the build reproducible
Source: libwebcam Version: 0.2.4-1.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that libwebcam could not be built reproducibly. The attached patch removes extra timestamps from the gzip files. Once applied, libwebcam can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole Description: Make libwebcam build reproducible The following patch makes the calls to gzip discard the timestamp of files when compressing, so no time metadata is stored. This way the build becomes reproducible. . libwebcam (0.2.4-1.1) unstable; urgency=medium . * Non-maintainer upload. * Removes timestamps from gzip Author: Dhole dh...@openmailbox.org Bug-Debian: https://bugs.debian.org/770982 --- --- libwebcam-0.2.4.orig/uvcdynctrl/CMakeLists.txt +++ libwebcam-0.2.4/uvcdynctrl/CMakeLists.txt @@ -58,7 +58,7 @@ add_definitions (-DHAVE_CONFIG_H) #create man pages execute_process ( - COMMAND sh -c rm -f ${CMAKE_CURRENT_BINARY_DIR}/*.gz; cp ${CMAKE_CURRENT_SOURCE_DIR}/uvcdynctrl.1_ ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl.1; cp ${CMAKE_CURRENT_SOURCE_DIR}/uvcdynctrl.1_ ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl-${UVCDYNCTRL_VERSION}.1; gzip --best ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl-${UVCDYNCTRL_VERSION}.1; gzip --best ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl.1; + COMMAND sh -c rm -f ${CMAKE_CURRENT_BINARY_DIR}/*.gz; cp ${CMAKE_CURRENT_SOURCE_DIR}/uvcdynctrl.1_ ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl.1; cp ${CMAKE_CURRENT_SOURCE_DIR}/uvcdynctrl.1_ ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl-${UVCDYNCTRL_VERSION}.1; gzip --best -n ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl-${UVCDYNCTRL_VERSION}.1; gzip --best -n ${CMAKE_CURRENT_BINARY_DIR}/uvcdynctrl.1; RESULT_VARIABLE MAN_BUILD_RESULT ) signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788001: libf2c2: please make the build reproducible
Source: libf2c2 Version: 1.0-4.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that libf2c2 could not be built reproducibly. The attached patch sets the files mtime to a known value (last debian package changelog date) before calling `dpkg --build` to generate the binary packages. Once applied, libf2c2 can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/libf2c2-20090411/debian/rules b/libf2c2-20090411/debian/rules index 3081474..2354c5f 100755 --- a/libf2c2-20090411/debian/rules +++ b/libf2c2-20090411/debian/rules @@ -10,6 +10,7 @@ prefix-dev=debian/libf2c2-dev prefix=debian/libf2c2 DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) dir=$(package)-$(version) file=$(package)_$(version)-$(debian) @@ -144,7 +145,11 @@ endif chown -R root.root ${prefix} chmod -R go-ws ${prefix-dev} chmod -R go-ws ${prefix} + find ${prefix-dev} -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build ${prefix-dev} .. + find ${prefix} -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build ${prefix} .. signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787995: lrzsz: please make the build reproducible
Source: lrzsz Version: 0.12.21-7 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that lrzsz could not be built reproducibly. The attached patch removes extra timestamps from the gzip files and sets the files mtime to a known value (last debian package changelog date) before calling `dpkg --build` to generate the binary packages. Once applied, lrzsz can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/lrzsz-0.12.21/debian/rules b/lrzsz-0.12.21/debian/rules index c24655b..8a75cbc 100755 --- a/lrzsz-0.12.21/debian/rules +++ b/lrzsz-0.12.21/debian/rules @@ -13,6 +13,7 @@ endif CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) CFLAGS = $(shell dpkg-buildflags --get CFLAGS) LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) export CPPFLAGS export CFLAGS export LDFLAGS @@ -60,9 +61,9 @@ endif install -p -m 0644 -D ChangeLog debian/tmp/usr/share/doc/lrzsz/changelog install -p -m 0644 -D debian/changelog debian/tmp/usr/share/doc/lrzsz/changelog.Debian - find debian/tmp/usr/share/man -type f -print0 | xargs -0 gzip -9 + find debian/tmp/usr/share/man -type f -print0 | xargs -0 gzip -9n find debian/tmp/usr/share/doc -type f ! -name copyright ! -name '*.html' \ - \( -name 'changelog*' -o -size +8 \) -print0 | xargs -0 gzip -9 + \( -name 'changelog*' -o -size +8 \) -print0 | xargs -0 gzip -9n ln -s rz.1.gz debian/tmp/usr/share/man/man1/rb.1.gz ln -s rz.1.gz debian/tmp/usr/share/man/man1/rx.1.gz @@ -78,6 +79,8 @@ endif dpkg-shlibdeps debian/tmp/usr/bin/* dpkg-gencontrol -isp -plrzsz + find debian/tmp -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/tmp .. binary-indep: signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#789963: qrfcview: please make the build reproducible
Source: qrfcview Version: 0.62-5.2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that qrfcview could not be built reproducibly. The attached patch removes the timestamps from the the generated png icon. Once applied, qrfcview can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -u qrfcview-0.62/debian/rules qrfcview-0.62/debian/rules --- qrfcview-0.62/debian/rules +++ qrfcview-0.62/debian/rules @@ -42,7 +42,7 @@ # Installation of icon and pixmap (hence imagemagick dependency). install -d -m 755 debian/qrfcview/usr/share/icons - convert -thumbnail 32x32 images/rfcview.png debian/qrfcview/usr/share/icons/qrfcview.png + convert -thumbnail 32x32 images/rfcview.png +set date:create +set date:modify -define png:exclude-chunk=time debian/qrfcview/usr/share/icons/qrfcview.png install -d -m 755 debian/qrfcview/usr/share/pixmaps convert -thumbnail 32x32 images/rfcview.png debian/qrfcview/usr/share/pixmaps/qrfcview.xpm diff -u qrfcview-0.62/debian/changelog qrfcview-0.62/debian/changelog --- qrfcview-0.62/debian/changelog +++ qrfcview-0.62/debian/changelog @@ -1,3 +1,10 @@ +qrfcview (0.62-6) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Remove timestamp from png to make package build reproducibly + + -- Dhole dh...@openmailbox.org Thu, 25 Jun 2015 16:53:17 +0200 + qrfcview (0.62-5.2) unstable; urgency=low * Non-maintainer upload. signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#789964: xutils-dev: please make the build reproducible
Source: xutils-dev Version: 1:7.7+3 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that xutils-dev makes some packages not build reproducibly. The attached patch modifies the default GzipCmd used in Imake from 'gzip' to 'gzip -n' so that timestamps are not stored in packages that use functions depending on GzipCmd. Once applied, xtel (and maybe others) can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -Nru xutils-dev-7.7+3/debian/changelog xutils-dev-7.7+3.1/debian/changelog --- xutils-dev-7.7+3/debian/changelog 2014-05-21 21:46:36.0 +0200 +++ xutils-dev-7.7+3.1/debian/changelog 2015-06-25 18:12:12.0 +0200 @@ -1,3 +1,11 @@ +xutils-dev (1:7.7+3.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Change default GzipCmd to `gzip -n` so that packages depending on +xutils-dev can be built reproducibly + + -- Dhole dh...@openmailbox.org Thu, 25 Jun 2015 18:11:15 +0200 + xutils-dev (1:7.7+3) unstable; urgency=medium * gccmakedep 1.0.3. diff -Nru xutils-dev-7.7+3/xorg-cf-files/Imake.tmpl xutils-dev-7.7+3.1/xorg-cf-files/Imake.tmpl --- xutils-dev-7.7+3/xorg-cf-files/Imake.tmpl 2014-05-21 21:01:41.0 +0200 +++ xutils-dev-7.7+3.1/xorg-cf-files/Imake.tmpl 2015-06-25 18:09:25.0 +0200 @@ -1190,7 +1190,7 @@ #define CompressCmd compress #endif #ifndef GzipCmd -#define GzipCmd gzip +#define GzipCmd gzip -n #endif #ifndef CppCmd #define CppCmd /LibDirName/cpp signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#789965: xtel: please make the build reproducible
Source: xtel Version: 3.3.0-17.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that xtel could not be built reproducibly. The attached patch removes extra timestamps from compressed files by gzip and from the png icon. Once applied, and with a patched version of the dependency xutils-dev, xtel can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -u xtel-3.3.0/debian/changelog xtel-3.3.0/debian/changelog --- xtel-3.3.0/debian/changelog +++ xtel-3.3.0/debian/changelog @@ -1,3 +1,11 @@ +xtel (3.3.0-17.2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Don't store timestamps when calling gzip and remove timestamps from png +to make package build reproducibly + + -- Dhole dh...@openmailbox.org Thu, 25 Jun 2015 16:30:25 +0200 + xtel (3.3.0-17.1) unstable; urgency=medium * Non-maintainer upload. diff -u xtel-3.3.0/debian/rules xtel-3.3.0/debian/rules --- xtel-3.3.0/debian/rules +++ xtel-3.3.0/debian/rules @@ -20,7 +20,7 @@ xmkmf make Xtel # convert the mean gif file into a png file - convert xtel.gif xtel.png + convert xtel.gif +set date:create +set date:modify -define png:exclude-chunk=time xtel.png touch build-stamp clean: @@ -62,7 +62,7 @@ install -m 644 LISEZMOI.txt debian/xtel/usr/share/doc/LANG/fr/xtel/ install -m 644 FAQ.txt debian/xtel/usr/share/doc/LANG/fr/xtel/ install -m 644 README_IMINITEL.txt debian/xtel/usr/share/doc/LANG/fr/xtel/ - gzip -9v debian/xtel/usr/share/doc/LANG/fr/xtel/*.txt + gzip -9vn debian/xtel/usr/share/doc/LANG/fr/xtel/*.txt # Install png image example install -m 644 xtel.png debian/xtel/usr/share/doc/xtel/ # Create a symlink in /usr/share/doc/xtel to the french doc directory signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788748: abcm2ps: please make the build reproducible
Source: abcm2ps Version: 7.8.9-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that abcm2ps could not be built reproducibly. The attached patch removes extra timestamps from the build system. Specifically, the patch avoids the the usage of the __DATE__ and __TIME__ C macro which embed timestamps during the compilation and make the package build unreproducibly. Once applied, abcm2ps can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -Nru abcm2ps-7.8.9/debian/changelog abcm2ps-7.8.9/debian/changelog --- abcm2ps-7.8.9/debian/changelog 2014-10-18 23:38:31.0 +0200 +++ abcm2ps-7.8.9/debian/changelog 2015-06-13 18:51:51.0 +0200 @@ -1,3 +1,10 @@ +abcm2ps (7.8.9-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Remove compilation date to make package build reproducibly + + -- Dhole dh...@openmailbox.org Sat, 13 Jun 2015 18:51:11 +0200 + abcm2ps (7.8.9-1) unstable; urgency=low * New upstream release (closes: #742296). diff -Nru abcm2ps-7.8.9/debian/patches/remove_compile_time abcm2ps-7.8.9/debian/patches/remove_compile_time --- abcm2ps-7.8.9/debian/patches/remove_compile_time1970-01-01 01:00:00.0 +0100 +++ abcm2ps-7.8.9/debian/patches/remove_compile_time2015-06-13 18:52:40.0 +0200 @@ -0,0 +1,22 @@ +Description: Remove compile time + . + abcm2ps (7.8.9-1.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Remove compilation date to make package build reproducibly +Author: Dhole dh...@openmailbox.org + +--- + +--- abcm2ps-7.8.9.orig/abc2ps.c abcm2ps-7.8.9/abc2ps.c +@@ -321,8 +321,7 @@ static void display_version(int full) + fputs(abcm2ps- VERSION ( VDATE )\n, stderr); + if (!full) + return; +- fputs(Compiled: __DATE__ \n +- Options: ++ fputs(Options: + #ifdef A4_FORMAT +A4_FORMAT + #endif diff -Nru abcm2ps-7.8.9/debian/patches/series abcm2ps-7.8.9/debian/patches/series --- abcm2ps-7.8.9/debian/patches/series 2014-10-18 18:38:51.0 +0200 +++ abcm2ps-7.8.9/debian/patches/series 2015-06-13 18:52:22.0 +0200 @@ -2,3 +2,4 @@ makefile-add-destdir makefile-install-ignore-docs non-resettable-pagenumber +remove_compile_time signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788753: aolserver4-nsmysql: please make the build reproducible
Source: aolserver4-nsmysql Version: 0.6-9 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that aolserver4-nsmysql could not be built reproducibly. The attached patch removes extra timestamps from the build system. Specifically, the patch avoids the the usage of the __DATE__ and __TIME__ C macro which embed timestamps during the compilation and make the package build unreproducible. Once applied, aolserver4-nsmysql can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -u aolserver4-nsmysql-0.6/debian/changelog aolserver4-nsmysql-0.6/debian/changelog --- aolserver4-nsmysql-0.6/debian/changelog +++ aolserver4-nsmysql-0.6/debian/changelog @@ -1,3 +1,11 @@ +aolserver4-nsmysql (0.6-9.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Removed timestamp macro from source code to make package build +reproducibly + + -- Dhole dh...@openmailbox.org Sat, 13 Jun 2015 22:45:06 +0200 + aolserver4-nsmysql (0.6-9) unstable; urgency=low [ Stefan Sobernig ] only in patch2: unchanged: --- aolserver4-nsmysql-0.6.orig/mysql.c +++ aolserver4-nsmysql-0.6/mysql.c @@ -87,8 +87,8 @@ return NS_ERROR; } -Ns_Log (Notice, Ns_MySQL_DriverInit(%s): Loaded %s, built on %s at %s., - hDriver, mysql_driver_version, __DATE__, __TIME__); +Ns_Log (Notice, Ns_MySQL_DriverInit(%s): Loaded %s., + hDriver, mysql_driver_version); return NS_OK; } signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788747: 0xffff: please make the build reproducible
Source: 0x Version: 0.6.1-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that 0x could not be built reproducibly. The attached patch removes extra timestamps from the build system. Specifically, the patch avoids the the usage of the __DATE__ and __TIME__ C macro which embed timestamps during the compilation and make the package build unreproducibly. Once applied, 0x can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -Nru 0x-0.6.1/debian/changelog 0x-0.6.1/debian/changelog --- 0x-0.6.1/debian/changelog 2015-05-27 17:45:22.0 +0200 +++ 0x-0.6.1/debian/changelog 2015-06-13 18:34:10.0 +0200 @@ -1,3 +1,10 @@ +0x (0.6.1-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. +- Remove timestamp from documentation to make package build reproducibly + + -- Dhole dh...@openmailbox.org Sat, 13 Jun 2015 18:33:37 +0200 + 0x (0.6.1-2) unstable; urgency=medium * Upload to unstable diff -Nru 0x-0.6.1/debian/patches/remove_timestamp 0x-0.6.1/debian/patches/remove_timestamp --- 0x-0.6.1/debian/patches/remove_timestamp1970-01-01 01:00:00.0 +0100 +++ 0x-0.6.1/debian/patches/remove_timestamp2015-06-13 18:35:34.0 +0200 @@ -0,0 +1,33 @@ +Description: remove timestamp + Remove __DATE__ macro to make package reproducibly + . + 0x (0.6.1-2.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + - Remove timestamp from documentation to make package build reproducibly +Author: Dhole dh...@openmailbox.org + + +--- 0x-0.6.1.orig/src/mangen.c 0x-0.6.1/src/mangen.c +@@ -34,7 +34,7 @@ int main() { + if ( ! pipe ) + return 1; + +- puts(.TH NAME 1 \ __DATE__ \ \ NAME VERSION \); ++ puts(.TH NAME 1 \ NAME VERSION \); + puts(); + + puts(.SH NAME); diff -Nru 0x-0.6.1/debian/patches/series 0x-0.6.1/debian/patches/series --- 0x-0.6.1/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ 0x-0.6.1/debian/patches/series 2015-06-13 18:34:53.0 +0200 @@ -0,0 +1 @@ +remove_timestamp signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788750: amideco: please make the build reproducible
Source: amideco Version: 0.31e-3.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that amideco could not be built reproducibly. The attached patch removes extra timestamps from the build system. Specifically, the patch avoids the the usage of the __DATE__ and __TIME__ C macro which embed timestamps during the compilation and make the package build unreproducible. Once applied, amideco can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -u amideco-0.31e/debian/changelog amideco-0.31e/debian/changelog --- amideco-0.31e/debian/changelog +++ amideco-0.31e/debian/changelog @@ -1,3 +1,10 @@ +amideco (0.31e-4) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Remove timestamp from help to make package build reproducibly + + -- Dhole dh...@openmailbox.org Sat, 13 Jun 2015 19:23:31 +0200 + amideco (0.31e-3.1) unstable; urgency=low * Non-maintainer upload. only in patch2: unchanged: --- amideco-0.31e.orig/src/amihelp.h +++ amideco-0.31e/src/amihelp.h @@ -29,7 +29,6 @@ Compression schemes include: LZINT\n\n Modules marked with IDSign sign are compressed modules\n\n \tBug reports mailto: SftEMail\n - \t\tCompiled: %s, %s\n,__DATE__,__TIME__); #else printf( \nSftName - Decompressor for AmiBIOSes only.\n @@ -39,8 +38,8 @@ Compression schemes include: LZINT\n\n Modules marked with IDSign sign are compressed modules\n\n \tBug reports mailto: SftEMail\n - \t\tCompiled: %s, %s with \n\t\t%s,__DATE__,__TIME__,__VERSION__); -#endif + \t\tCompiled with \n\t\t%s,__VERSION__); +#endif printf(\n); return( 0x20 ); signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788754: antpm: please make the build reproducible
Source: antpm Version: 1.16-8 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that antpm could not be built reproducibly. The attached patch removes extra timestamps from the build system. Specifically, the patch avoids the the usage of the __DATE__ and __TIME__ C macro which embed timestamps during the compilation and make the package build unreproducible. Once applied, antpm can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -Nru antpm-1.16/debian/changelog antpm-1.16/debian/changelog --- antpm-1.16/debian/changelog 2014-08-17 08:38:28.0 +0200 +++ antpm-1.16/debian/changelog 2015-06-14 13:25:38.0 +0200 @@ -1,3 +1,10 @@ +antpm (1.16-8.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Remove timestamp macro from source code to make package build reproducibly + + -- Dhole dh...@openmailbox.org Sun, 14 Jun 2015 13:19:46 +0200 + antpm (1.16-8) unstable; urgency=low * Team upload diff -Nru antpm-1.16/debian/patches/remove_timestamp antpm-1.16/debian/patches/remove_timestamp --- antpm-1.16/debian/patches/remove_timestamp 1970-01-01 01:00:00.0 +0100 +++ antpm-1.16/debian/patches/remove_timestamp 2015-06-14 13:26:42.0 +0200 @@ -0,0 +1,31 @@ +Description: Remove timestamp + . + antpm (1.16-8.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Remove timestamp macro from source code to make package build reproducibly +Author: Dhole dh...@openmailbox.org + +--- + +--- antpm-1.16.orig/src/common.cpp antpm-1.16/src/common.cpp +@@ -296,8 +296,7 @@ getVersionString() + { + return std::string() + APP_NAME + + v + std::string(BOOST_STRINGIZE(ANTPM_VERSION)) +- + built __DATE__ + __TIME__ + //+#ANTPM_SERIAL_IMPL +- + under ++ + built under + #ifdef __linux__ + # ifdef __LP64__ + linux64 diff -Nru antpm-1.16/debian/patches/series antpm-1.16/debian/patches/series --- antpm-1.16/debian/patches/series2014-08-17 08:38:28.0 +0200 +++ antpm-1.16/debian/patches/series2015-06-14 13:25:55.0 +0200 @@ -5,3 +5,4 @@ 02-try-fixing-FTBFS-under-hurd-i386-kfreebsd-amd64-kfre 03-gant-try-fixing-FTBFS-under-hurd-i386 link-boost-atomic2.patch +remove_timestamp signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] GSoC 2015 Week 3: Move forward reproducible builds
Hi, During this third week I continued working on fixing timestamp related issues. Regarding the issue of timestamps captured by dpkg (packages not using dh_debbuild), Lunar has suggested a better approach for it. The current approach was add the following line in the build script (debian/rules), just before calling `dpkg --build` so that files created at build time get a fixed and known date: `find debian/tmp -newermt '$(BUILD_DATE)' -print0 | \ xargs -0r touch --no-dereference --date='$(BUILD_DATE)'` With the previous declaration of the `BUILD_DATE` variable: `BUILD_DATE := $(shell dpkg-parsechangelog --show-field Date)` Lunar's suggestion is to add a functionality as an option to the tar package (--clamp-mtime) which will change the stored timestamps in the metadata of the tar file, only of files which were newer than a given time. This approach gives the same result without being intrusive on the build script and without touching the filesystem (files mtimes are not touched, only the tar metadata is modified). With this, dpkg could call tar with this option and solve the reproducibility issue. Lunar sent this patch to tar upstream and is positive that they will accept it (eventhough right now they don't seem to be convinced). This week I have patched packages witch had these issues: - Timestamps embedded into compiled binaries from C/C++ source code due to the usage of the __DATE__ and __TIME__ macros [1] The packages I patched are the following: ## 14/06 - https://reproducible.debian.net/rb-pkg/unstable/amd64/0x.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788747 - https://reproducible.debian.net/rb-pkg/unstable/amd64/abcm2ps.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788748 - https://reproducible.debian.net/rb-pkg/unstable/amd64/amideco.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788750 - https://reproducible.debian.net/rb-pkg/unstable/amd64/amsynth.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788751 - https://reproducible.debian.net/rb-pkg/unstable/amd64/analog.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788752 - https://reproducible.debian.net/rb-pkg/unstable/amd64/aolserver4-nsmysql.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788753 - https://reproducible.debian.net/rb-pkg/unstable/amd64/antpm.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788754 - https://reproducible.debian.net/rb-pkg/unstable/amd64/aolserver4-nssqlite3.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788756 [1] https://wiki.debian.org/ReproducibleBuilds/TimestampsFromCPPMacros -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787123: rsync: please make the build reproducible
Source: rsync Version: 3.1.1-3 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that rsync could not be built reproducibly. The attached patch removes extra timestamps from the gzipped docs and fixes the files mtime before building the binary packages. Once applied, rsync can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/rsync-3.1.1/debian/rules b/rsync-3.1.1/debian/rules index 998ad76..54faa0c 100755 --- a/rsync-3.1.1/debian/rules +++ b/rsync-3.1.1/debian/rules @@ -42,6 +42,7 @@ DEB_HOST_GNU_TYPE=$(DEB_BUILD_GNU_TYPE) DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) INSTALL_CROSS := @@ -111,7 +112,7 @@ endif $(INSTALL_FILE) debian/README.Debian debian/tmp/usr/share/doc/rsync/ echo -e '\n\f' debian/tmp/usr/share/doc/rsync/changelog cat OLDNEWS debian/tmp/usr/share/doc/rsync/changelog - gzip -9fr `find debian/tmp/usr/share/doc/ debian/tmp/usr/share/man/ -type f` + gzip -9frn `find debian/tmp/usr/share/doc/ debian/tmp/usr/share/man/ -type f` $(INSTALL_FILE) debian/rsyncd.conf debian/logrotate.conf.rsync debian/tmp/usr/share/doc/rsync/examples/ $(INSTALL_FILE) debian/copyright debian/tmp/usr/share/doc/rsync/ # $(INSTALL_SCRIPT) test.sh debian/tmp/usr/lib/debian-test/tests/rsync @@ -128,6 +129,8 @@ endif dpkg-gencontrol -isp chown -R root.root debian/tmp chmod -R go=rX debian/tmp + find debian/tmp -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/tmp .. # Below here is fairly generic really ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787125: pachi: please make the build reproducible
Source: pachi Version: 1:1.0-7 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that pachi could not be built reproducibly. The attached patch fixes the files mtime before building the binary packages. Once applied, pachi can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/pachi-1.0/debian/rules b/pachi-1.0/debian/rules index 007b608..a6c09f1 100755 --- a/pachi-1.0/debian/rules +++ b/pachi-1.0/debian/rules @@ -17,6 +17,8 @@ export CPPFLAGS export CXXFLAGS export LDFLAGS +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) + clean: $(testdir) rm -f build-stamp debian/files debian/substvars @@ -69,6 +71,8 @@ endif chmod -R go=u-w debian/pachi chown root:games debian/pachi/usr/games/pachi chmod 2755 debian/pachi/usr/games/pachi + find debian/pachi -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/pachi .. binary-indep: build @@ -92,6 +96,8 @@ binary-indep: build dpkg-gencontrol -isp -ppachi-data -Pdebian/pachi-data chown -R root:root debian/pachi-data chmod -R go=u-w debian/pachi-data + find debian/pachi-data -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/pachi-data .. .PHONY: clean build build-arch build-indep binary binary-arch binary-indep ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787126: nis: please make the build reproducible
Source: nis Version: 3.17-34 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that nis could not be built reproducibly. The attached patch removes extra timestamps from the gzipped docs and fixes the files mtime before building the binary packages. Once applied, nis can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/nis-3.17/debian/rules b/nis-3.17/debian/rules index fd15d77..11b3fa2 100755 --- a/nis-3.17/debian/rules +++ b/nis-3.17/debian/rules @@ -15,6 +15,7 @@ YPBIND=ypbind-mt-1.20.1 SHELL=/bin/bash DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS = -O2 -Wall -g @@ -132,13 +133,13 @@ binary-arch: build checkroot install -g root -m 755 debian/reportbug-script $(DEBDIR)/usr/share/bug/nis/script # Documentation. - gzip -9f $(DEBDIR)/usr/share/man/man*/* + gzip -9fn $(DEBDIR)/usr/share/man/man*/* install -g root -m 644 debian/nis.debian.howto $(DEBDIR)/usr/share/doc/nis install -g root -m 644 debian/changelog \ $(DEBDIR)/usr/share/doc/nis/changelog.Debian install -g root -m 644 $(YPSERV)/ChangeLog \ $(DEBDIR)/usr/share/doc/nis/changelog - gzip -9f $(DEBDIR)/usr/share/doc/nis/* || true + gzip -9fn $(DEBDIR)/usr/share/doc/nis/* || true install -g root -m 644 debian/COPYRIGHT \ $(DEBDIR)/usr/share/doc/$(p)/copyright install -g root -m 644 debian/nis.default \ @@ -157,6 +158,8 @@ binary-arch:build checkroot # Use some binaries to generate the dependencies. dpkg-shlibdeps `find $(DEBDIR) -type f -exec file '{}' ';' | grep ELF | awk -F: '{print $$1}'` dpkg-gencontrol -isp + find $(DEBDIR) -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build $(DEBDIR) .. rm -rf $(DEBDIR) ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787122: xtrlock: please make the build reproducible
Source: xtrlock Version: 2.7 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that xtrlock could not be built reproducibly. The attached patch fixes the files mtime before building the binary packages. Once applied, xtrlockcan be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/xtrlock-2.7/debian/rules b/xtrlock-2.7/debian/rules index 91b1572..8cb574e 100755 --- a/xtrlock-2.7/debian/rules +++ b/xtrlock-2.7/debian/rules @@ -8,6 +8,7 @@ arch=$(shell dpkg --print-architecture) STRIP=strip DPKG_EXPORT_BUILDFLAGS = 1 +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) export DEB_BUILD_MAINT_OPTIONS = hardening=+all include /usr/share/dpkg/buildflags.mk @@ -60,6 +61,8 @@ binary-arch: checkroot build chown root.shadow debian/tmp/usr/bin/xtrlock chmod -R g-w debian/tmp chmod 2755 debian/tmp/usr/bin/xtrlock + find debian/tmp -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/tmp .. binary:binary-indep binary-arch ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#790374: oxygen-icons: please make the build reproducible
Source: oxygen-icons Version: 4:14.12.2-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps fileordering Hi! While working on the “reproducible builds” effort [1], we have noticed that oxygen-icons could not be built reproducibly. The attached patch removes the timestamps from the the generated png icons. oxygen-icons uses the script symlink_duplicates.sh to find duplicate files (with fdupes) and create symlinks before packing the files. The order in which duplicates are found can differ between runs making the symlinks undeterministic. The provided patch parses the output of fdupes to sort the groups of duplicated files, making the output deterministic. Once applied, oxygen-icons can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff -Nru oxygen-icons-14.12.2/debian/changelog oxygen-icons-14.12.2/debian/changelog --- oxygen-icons-14.12.2/debian/changelog 2015-02-16 12:01:41.0 +0100 +++ oxygen-icons-14.12.2/debian/changelog 2015-06-26 13:22:21.0 +0200 @@ -1,3 +1,12 @@ +oxygen-icons (4:14.12.2-2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Remove timestamps from png to make package build reproducibly + * symlink_duplicates.sh now symlinks files in a reproducible way (by sorting +the results of fdupes) + + -- Dhole dh...@openmailbox.org Fri, 26 Jun 2015 13:21:16 +0200 + oxygen-icons (4:14.12.2-1) experimental; urgency=medium * Prepare Debian release. diff -Nru oxygen-icons-14.12.2/debian/patches/remove_png_timestamps oxygen-icons-14.12.2/debian/patches/remove_png_timestamps --- oxygen-icons-14.12.2/debian/patches/remove_png_timestamps 1970-01-01 01:00:00.0 +0100 +++ oxygen-icons-14.12.2/debian/patches/remove_png_timestamps 2015-06-25 18:22:02.0 +0200 @@ -0,0 +1,25 @@ +Description: Remove png timestamps + . + oxygen-icons (4:14.12.2-1.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Remove timestamps from png to make package build reproducibly +Author: Dhole dh...@openmailbox.org + +--- + +--- oxygen-icons-14.12.2.orig/scalable/export_pngs.sh oxygen-icons-14.12.2/scalable/export_pngs.sh +@@ -31,10 +31,10 @@ for size in $sizes; do + inkscape --without-gui --export-png=../${size}x${size}/$iconDir/$iconPngName --export-dpi=72 --export-background-opacity=0 --export-width=$size --export-height=$size $smallicon /dev/null + + else +-convert -filter Sinc -resize ${size}x${size} $iconPngName ../${size}x${size}/$iconDir/$iconPngName ++convert -filter Sinc -resize ${size}x${size} $iconPngName +set date:create +set date:modify -define png:exclude-chunk=time ../${size}x${size}/$iconDir/$iconPngName + fi + else +- convert -filter Sinc -resize ${size}x${size} $iconPngName ../${size}x${size}/$iconDir/$iconPngName ++ convert -filter Sinc -resize ${size}x${size} $iconPngName +set date:create +set date:modify -define png:exclude-chunk=time ../${size}x${size}/$iconDir/$iconPngName + fi + echo Converted the icon named $( echo $iconName | cut -d . -f -1 ) to size: $size + done diff -Nru oxygen-icons-14.12.2/debian/patches/series oxygen-icons-14.12.2/debian/patches/series --- oxygen-icons-14.12.2/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ oxygen-icons-14.12.2/debian/patches/series 2015-06-25 18:21:42.0 +0200 @@ -0,0 +1 @@ +remove_png_timestamps diff -Nru oxygen-icons-14.12.2/debian/rules oxygen-icons-14.12.2/debian/rules --- oxygen-icons-14.12.2/debian/rules 2015-02-16 12:01:41.0 +0100 +++ oxygen-icons-14.12.2/debian/rules 2015-06-25 18:15:39.0 +0200 @@ -7,7 +7,8 @@ override_dh_auto_build: convert 64x64/mimetypes/x-office-document.png \ - -scale 22x22 22x22/mimetypes/x-office-document.png + -scale 22x22 +set date:create +set date:modify -define png:exclude-chunk=time \ + 22x22/mimetypes/x-office-document.png $(overridden_command) override_dh_install: diff -Nru oxygen-icons-14.12.2/debian/symlink_duplicates.sh oxygen-icons-14.12.2/debian/symlink_duplicates.sh --- oxygen-icons-14.12.2/debian/symlink_duplicates.sh 2015-02-16 12:01:41.0 +0100 +++ oxygen-icons-14.12.2/debian/symlink_duplicates.sh 2015-06-26 13:20:30.0 +0200 @@ -5,13 +5,27 @@ # $1 Root directory for absolute path calculation # $2 Directory for searching duplicate files +# Call fdupes and sort the filenames in the groups of duplicates in the output +function fdupes_sorted { + duplicates= + fdupes ${*:2} | while read line; do + if [ -z $line ]; then + echo -n $duplicates | sort + echo + duplicates= + else + duplicates=$duplicates$line$'\n' + fi + done +} + echo Symlinking duplicate
[Reproducible-builds] Bug#786927: flowscan: please make the build reproducible
Source: flowscan Version: 1.006-13.2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that flowscan could not be built reproducibly. The attached patch removes extra timestamps from the gzipped docs and fixes the files mtime before building the binary packages. Once applied, flowscan can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/flowscan-1.006/debian/rules b/flowscan-1.006/debian/rules index feb2edb..d5b1ead 100755 --- a/flowscan-1.006/debian/rules +++ b/flowscan-1.006/debian/rules @@ -6,6 +6,7 @@ CF = -g -Wall -D_REENTRANT -fPIC TMP =$(CURDIR)/debian/$(PACKAGE) +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) binary: binary-arch binary-indep @@ -25,7 +26,7 @@ binary-indep: build install -d -m 755 debian/tmp/usr/share/man/man1 install -p -m 644 man/*.1 debian/tmp/usr/share/man/man1 - gzip -9 debian/tmp/usr/share/man/man1/*.1 + gzip -9n debian/tmp/usr/share/man/man1/*.1 install -d -m 755 debian/tmp/usr/share/doc/flowscan install -p -m 644 Changes debian/tmp/usr/share/doc/flowscan/changelog @@ -33,7 +34,7 @@ binary-indep: build install -p -m 644 INSTALL debian/tmp/usr/share/doc/flowscan/UserManual install -p -m 644 debian/changelog debian/tmp/usr/share/doc/flowscan/changelog.Debian install -p -m 644 debian/README.Debian debian/tmp/usr/share/doc/flowscan - gzip -9 debian/tmp/usr/share/doc/flowscan/* + gzip -9n debian/tmp/usr/share/doc/flowscan/* install -d -m 755 debian/tmp/usr/share/doc/flowscan/html install -d -m 755 debian/tmp/usr/share/doc/flowscan/pod install -p -m 644 CampusIO.html README.html SubNetIO.html debian/tmp/usr/share/doc/flowscan/html @@ -47,7 +48,7 @@ binary-indep: build install -p -m 644 cf/* debian/tmp/etc/flowscan install -p -m 644 cf/* debian/tmp/usr/share/doc/flowscan/examples/cf install -p -m 644 rc/linux/* debian/tmp/usr/share/doc/flowscan/examples/rc - gzip -r9 debian/tmp/usr/share/doc/flowscan/examples/* + gzip -r9n debian/tmp/usr/share/doc/flowscan/examples/* install -p -m 644 debian/conffiles debian/tmp/DEBIAN # install -p -m 755 debian/config debian/preinst debian/tmp/DEBIAN @@ -59,6 +60,8 @@ binary-indep: build dpkg-shlibdeps debian/tmp/usr/bin/* dpkg-gencontrol -isp + find debian/tmp -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/tmp .. build: ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#777308: fixed in dhcp-helper 1.1-2
Source: dhcp-helper Version: 1.1-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi, While working on the reproducible builds effort [1], we have noticed that dhcp-helper could not be built reproducibly. The attached patch fixes the mtime of the files before building the binary packages. Once applied, dhcp-helper can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds -- Dhole diff --git a/dhcp-helper-1.1/debian/rules b/dhcp-helper-1.1/debian/rules index 0ff9269..e949ba3 100755 --- a/dhcp-helper-1.1/debian/rules +++ b/dhcp-helper-1.1/debian/rules @@ -15,6 +15,7 @@ CFLAGS = $(shell export DEB_BUILD_OPTIONS=$(DEB_BUILD_OPTIONS); dpkg-buildflags CFLAGS += $(shell dpkg-buildflags --get CPPFLAGS) CFLAGS += $(shell dpkg-buildflags --get LDFLAGS) CFLAGS += -Wall -W +BUILD_DATE=$(shell dpkg-parsechangelog --show-field Date) build: $(checkdir) @@ -67,6 +68,8 @@ endif dpkg-gencontrol -isp chown -R root.root debian/tmp chmod -R g-ws debian/tmp + find debian/tmp -depth -newermt '$(BUILD_DATE)' -print0 | \ + xargs -0r touch --no-dereference --date='$(BUILD_DATE)' dpkg --build debian/tmp .. define checkdir ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] GSoC 2015 Week 11: Move forward reproducible builds
Hi, This week I have updated my patch for gettext to target the new version uploaded to Debian unstable (0.19.5.1-1). I pushed the updated patch to our git repo: https://anonscm.debian.org/cgit/reproducible/gettext.git/commit/?h=pu/reproducible_buildsid=b6e972eab1f04f3fbd368433b496f1f4a6b372a3 I have also uploaded the new build to our custom APT repository, and attached the patch to the open bug: https://bugs.debian.org/792687 I have written a patch for the qthelpgenerator tool from qt4-x11 to honour SOURCE_DATE_EPOCH when embedding timestamps in the generated qch files (see issue timestamps_in_qch [1]). The tool qthelpgenerator embeds timestamps in different places, so in order to find a general solution I added the method reproducibleDateTime in the class QDateTime which returns a deterministic date honouring SOURCE_DATE_EPOCH in case the variable is set. Then I replaced the instances of QDateTime::currentDateTime() with QDateTime::reproducibleDateTime() where needed. I have pushed the patch to our git repo: https://anonscm.debian.org/cgit/reproducible/qt4-x11.git/commit/?h=pu/reproducible_buildsid=ee300f6185ce82eb932dbe1b2dca2113b88afb56 I have also uploaded the build to our custom APT repository, and opened a bug with the patch in Debian: https://bugs.debian.org/794681 And I have also updated the wiki accordingly. After patching qt4-x11, 3 packages became reproducible in my machine: - ktikz - qmf - linkchecker qmf didn't become reproducible in Jenkins: there is a weird issue with having different files in build 1 and 2 (apparently files are missing in both builds). This may be caused by parallelism issues and needs further investigation. There are still 12 packages that where tagged with timestamps_in_qch that didn't become reproducible. They are affected by randomness_in_qdoc [2]. Also some of them show variations in qch files (it seems to be a history of SQL commands that differ between builds). I have fixed some individual packages without notes: Affected by timestamps in zip metadata (timestamps_in_zip issue) - foxyproxy https://bugs.debian.org/794779 - xul-ext-monkeysphere https://bugs.debian.org/794781 Embedding of dates: - freeipmi https://bugs.debian.org/794792 - doc-base https://bugs.debian.org/794793 - debiandoc-sgml-doc https://bugs.debian.org/794795 For next week I'll probably look at the randomness_in_qdoc [2] issue. [1] https://reproducible.debian.net/issues/unstable/timestamps_in_qch_issue.html [2] https://reproducible.debian.net/issues/unstable/randomness_in_qdoc_issue.html Best regards, -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795975: unoconv: please make the build reproducible
Source: unoconv Version: 0.6-6 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that unoconv could not be built reproducibly. The attached patch sets the timezone to UTC before calling asciidoc to avoid timezone differences in the generated docs. Once applied, unoconv can be builtreproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru unoconv-0.6/debian/changelog unoconv-0.6/debian/changelog --- unoconv-0.6/debian/changelog2014-01-11 20:02:32.0 +0100 +++ unoconv-0.6/debian/changelog2015-08-17 12:22:44.0 +0200 @@ -1,3 +1,11 @@ +unoconv (0.6-6.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC in asciidoc to make the embedded dates invariant to timezones +in order to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Mon, 17 Aug 2015 12:22:05 +0200 + unoconv (0.6-6) unstable; urgency=low * Add support for Microsoft Works and Microsoft Excel 2007 XML. diff -Nru unoconv-0.6/debian/patches/fix-timezone-asciidoc.patch unoconv-0.6/debian/patches/fix-timezone-asciidoc.patch --- unoconv-0.6/debian/patches/fix-timezone-asciidoc.patch 1970-01-01 01:00:00.0 +0100 +++ unoconv-0.6/debian/patches/fix-timezone-asciidoc.patch 2015-08-17 12:24:30.0 +0200 @@ -0,0 +1,16 @@ +Description: Fix timezone in asciidoc + Set TZ=UTC before calling asciidoc to make the embedded dates invariant + to timezone so that the package can be build reproducibly. +Author: Eduard Sanou dh...@openmailbox.org + +--- unoconv-0.6.orig/doc/Makefile unoconv-0.6/doc/Makefile +@@ -20,7 +20,7 @@ clean: + rm -f unconv.1 *.html *.xml + + %.1.html: %.1.txt +- asciidoc -d manpage $ ++ TZ=UTC asciidoc -d manpage $ + + %.1: %.1.xml + xmlto man $ diff -Nru unoconv-0.6/debian/patches/series unoconv-0.6/debian/patches/series --- unoconv-0.6/debian/patches/series 2014-01-11 20:02:32.0 +0100 +++ unoconv-0.6/debian/patches/series 2015-08-17 12:23:40.0 +0200 @@ -4,3 +4,4 @@ python3-stdout-fix.patch support-for-wps.patch support-for-xlsx.patch +fix-timezone-asciidoc.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795977: dahdi-tools: please make the build reproducible
Source: dahdi-tools Version: 1:2.10.2-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that dahdi-tools could not be built reproducibly. The attached patch sets the timezone to UTC before calling asciidoc to avoid timezone differences in the generated docs. Once applied, dahdi-tools can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru dahdi-tools-2.10.2/debian/changelog dahdi-tools-2.10.2/debian/changelog --- dahdi-tools-2.10.2/debian/changelog 2015-06-28 22:08:29.0 +0200 +++ dahdi-tools-2.10.2/debian/changelog 2015-08-17 12:46:16.0 +0200 @@ -1,3 +1,11 @@ +dahdi-tools (1:2.10.2-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC before calling asciidoc to make the embedded dates invariant to +timezones in order to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Mon, 17 Aug 2015 12:44:19 +0200 + dahdi-tools (1:2.10.2-2) unstable; urgency=medium * gcc5.patch (Closes: #777829). diff -Nru dahdi-tools-2.10.2/debian/patches/fix-timezone-asciidoc.patch dahdi-tools-2.10.2/debian/patches/fix-timezone-asciidoc.patch --- dahdi-tools-2.10.2/debian/patches/fix-timezone-asciidoc.patch 1970-01-01 01:00:00.0 +0100 +++ dahdi-tools-2.10.2/debian/patches/fix-timezone-asciidoc.patch 2015-08-17 12:47:13.0 +0200 @@ -0,0 +1,20 @@ +Description: Fix timezone in asciidoc + Set TZ=UTC before calling asciidoc to make the embedded dates invariant + to timezone so that the package can be build reproducibly. +Author: Eduard Sanou dh...@openmailbox.org + +--- dahdi-tools-2.10.2.orig/Makefile dahdi-tools-2.10.2/Makefile +@@ -209,10 +209,10 @@ genconf_parameters.sample: xpp/genconf_p + README.html: README system.conf.asciidoc init.conf.asciidoc tonezones.txt \ + UPGRADE.txt genconf_parameters.asciidoc assigned-spans.conf.asciidoc \ + span-types.conf.asciidoc +- $(ASCIIDOC) -n -a toc -a toclevels=4 $ ++ TZ=UTC $(ASCIIDOC) -n -a toc -a toclevels=4 $ + + README.Astribank.html: xpp/README.Astribank +- $(ASCIIDOC) -o $@ -n -a toc -a toclevels=4 $ ++ TZ=UTC $(ASCIIDOC) -o $@ -n -a toc -a toclevels=4 $ + + # on Debian: this requires the full groff, not just groff-base. + %.8.html: %.8 diff -Nru dahdi-tools-2.10.2/debian/patches/series dahdi-tools-2.10.2/debian/patches/series --- dahdi-tools-2.10.2/debian/patches/series2015-06-28 07:16:50.0 +0200 +++ dahdi-tools-2.10.2/debian/patches/series2015-08-17 12:46:44.0 +0200 @@ -4,3 +4,4 @@ remove_dahdi_speed debian-cflags.patch gcc5.patch +fix-timezone-asciidoc.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795981: x11proto-input: please make the build reproducible
Source: x11proto-input Version: 2.3.1-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that x11proto-input could not be built reproducibly. The attached patch sets the timezone to UTC before calling asciidoc to avoid timezone differences in the generated docs. Once applied, x11proto-input can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -u x11proto-input-2.3.1/debian/changelog x11proto-input-2.3.1/debian/changelog --- x11proto-input-2.3.1/debian/changelog +++ x11proto-input-2.3.1/debian/changelog @@ -1,3 +1,11 @@ +x11proto-input (2.3.1-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC before calling asciidoc to make the embedded dates invariant to +timezones in order to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Mon, 17 Aug 2015 16:22:00 +0200 + x11proto-input (2.3.1-1) unstable; urgency=medium * New upstream release. only in patch2: unchanged: --- x11proto-input-2.3.1.orig/specs/Makefile.am +++ x11proto-input-2.3.1/specs/Makefile.am @@ -6,7 +6,7 @@ dist_doc_DATA = XI2proto.txt XIproto.txt %.html: %.txt - $(AM_V_GEN)$(ASCIIDOC) -o $@ $ + TZ=UTC $(AM_V_GEN)$(ASCIIDOC) -o $@ $ CLEANFILES = $(doc_DATA) signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#796527: vserver-debiantools: please make the build reproducible
Source: vserver-debiantools Version: 0.8.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that vserver-debiantools could not be built reproducibly. The attached patch sets the embedded date in the man pages generated by podman to the latest debian/changelog entry timestamp instead of local date. Once applied, vserver-debiantools can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru vserver-debiantools-0.8.1/debian/changelog vserver-debiantools-0.8.1+nmu1/debian/changelog --- vserver-debiantools-0.8.1/debian/changelog 2011-08-02 08:00:05.0 +0200 +++ vserver-debiantools-0.8.1+nmu1/debian/changelog 2015-08-21 17:35:47.0 +0200 @@ -1,3 +1,11 @@ +vserver-debiantools (0.8.1+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace date embedded in man pages by the latest debian/changelog entry +timestamp to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Fri, 21 Aug 2015 17:35:14 +0200 + vserver-debiantools (0.8.1) unstable; urgency=low * Debian is spelled with a capital D. Closes: #627624. diff -Nru vserver-debiantools-0.8.1/debian/rules vserver-debiantools-0.8.1+nmu1/debian/rules --- vserver-debiantools-0.8.1/debian/rules 2009-04-21 06:52:32.0 +0200 +++ vserver-debiantools-0.8.1+nmu1/debian/rules 2015-08-21 17:35:01.0 +0200 @@ -6,7 +6,7 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 - +export SOURCE_DATE_EPOCH = $(shell date -d $$(dpkg-parsechangelog --count 1 -SDate) +%s) CFLAGS = -Wall -g diff -Nru vserver-debiantools-0.8.1/Makefile vserver-debiantools-0.8.1+nmu1/Makefile --- vserver-debiantools-0.8.1/Makefile 2009-04-21 06:52:32.0 +0200 +++ vserver-debiantools-0.8.1+nmu1/Makefile 2015-08-21 17:34:29.0 +0200 @@ -1,5 +1,11 @@ MANFILES=newvserver.1 newnfsvserver.1 dupvserver.1 stripserver.1 +ifdef SOURCE_DATE_EPOCH +POD_DATE ?= $$(date -u -d @${SOURCE_DATE_EPOCH}) +else +POD_DATE ?= $$(LANG=C date) +endif + all: build-man build-man: $(MANFILES) @@ -7,25 +13,25 @@ newvserver.1: newvserver.pod pod2man --section=1 \ --release=Vserver \ ---date=`LANG=C date` \ +--date=$(POD_DATE) \ $^ $@ newnfsvserver.1: newnfsvserver.pod pod2man --section=1 \ --release=Vserver \ ---date=`LANG=C date` \ +--date=$(POD_DATE) \ $^ $@ dupvserver.1: dupvserver.pod pod2man --section=1 \ --release=Vserver \ ---date=`LANG=C date` \ +--date=$(POD_DATE) \ $^ $@ stripserver.1: stripserver.pod pod2man --section=1 \ --release=Vserver \ ---date=`LANG=C date` \ +--date=$(POD_DATE) \ $^ $@ install: install-sbin install-man install-conf install-var signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#796375: wcd: please make the build reproducible
Source: wcd Version: 5.2.5-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that wcd could not be built reproducibly. The attached patch sets the embedded date in the man pages generated by podman to the latest debian/changelog entry timestamp instead of local date. Once applied, wcd can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru wcd-5.2.5/debian/changelog wcd-5.2.5/debian/changelog --- wcd-5.2.5/debian/changelog 2014-06-13 04:35:22.0 +0200 +++ wcd-5.2.5/debian/changelog 2015-08-21 17:13:05.0 +0200 @@ -1,3 +1,11 @@ +wcd (5.2.5-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace date embedded in man page by the latest debian/changelog entry +timestamp to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Fri, 21 Aug 2015 16:58:37 +0200 + wcd (5.2.5-1) unstable; urgency=low * New upstream release. diff -Nru wcd-5.2.5/debian/patches/fix-timestamp-man.patch wcd-5.2.5/debian/patches/fix-timestamp-man.patch --- wcd-5.2.5/debian/patches/fix-timestamp-man.patch1970-01-01 01:00:00.0 +0100 +++ wcd-5.2.5/debian/patches/fix-timestamp-man.patch2015-08-21 17:14:29.0 +0200 @@ -0,0 +1,20 @@ +Description: Fix timestamp in man pages + Replace the embedded timestamp in man pages by the latest debian/changelog + entry timestamp to make the man pages reproducible. +Author: Eduard Sanou dh...@openmailbox.org + +--- wcd-5.2.5.orig/src/man/man1/Makefile wcd-5.2.5/src/man/man1/Makefile +@@ -33,7 +33,11 @@ PACKAGE ?= wcd + + # Optional variables to set + MANSECT ?= 1 +-PODCENTER ?= $$(date +%Y-%m-%d) ++ifdef SOURCE_DATE_EPOCH ++PODCENTER ?= $$(date -u -d @${SOURCE_DATE_EPOCH} +%Y-%m-%d) ++else ++PODCENTER ?= $$(date +%Y-%m-%d) ++endif + + # Directories + MANSRC= diff -Nru wcd-5.2.5/debian/patches/series wcd-5.2.5/debian/patches/series --- wcd-5.2.5/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ wcd-5.2.5/debian/patches/series 2015-08-21 17:13:34.0 +0200 @@ -0,0 +1 @@ +fix-timestamp-man.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#796376: mapivi: please make the build reproducible
Source: mapivi Version: 0.9.7-1.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that mapivi could not be built reproducibly. The attached patch sets the embedded date in the man pages generated by podman to the latest debian/changelog entry timestamp instead of local date. Once applied, mapivi can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -u mapivi-0.9.7/debian/changelog mapivi-0.9.7/debian/changelog --- mapivi-0.9.7/debian/changelog +++ mapivi-0.9.7/debian/changelog @@ -1,3 +1,12 @@ +mapivi (0.9.7-1.2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Export POD_MAN_DATE with the latest debian/changelog entry timestamp +so that the man pages get a deterministic date to make the package build +reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Fri, 21 Aug 2015 17:06:06 +0200 + mapivi (0.9.7-1.1) unstable; urgency=low * Non-maintainer upload. diff -u mapivi-0.9.7/debian/rules mapivi-0.9.7/debian/rules --- mapivi-0.9.7/debian/rules +++ mapivi-0.9.7/debian/rules @@ -9,7 +9,8 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 - +export SOURCE_DATE_EPOCH = $(shell date -d $$(dpkg-parsechangelog --count 1 -SDate) +%s) +export POD_MAN_DATE = $(shell date -u +%Y-%m-%d --date=@$(SOURCE_DATE_EPOCH)) CFLAGS = -Wall -g signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795985: xorg: please make the build reproducible
Source: xorg Version: 1:7.7+9 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that xorg could not be built reproducibly. The attached patch sets the timezone to UTC before calling asciidoc to avoid timezone differences in the generated docs. Once applied, xorg can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru xorg-7.7+9/debian/changelog xorg-7.7+9.1/debian/changelog --- xorg-7.7+9/debian/changelog 2015-05-11 14:53:51.0 +0200 +++ xorg-7.7+9.1/debian/changelog 2015-08-17 16:38:13.0 +0200 @@ -1,3 +1,11 @@ +xorg (1:7.7+9.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC before calling asciidoc to make the embedded dates invariant to +timezones in order to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Mon, 17 Aug 2015 16:37:50 +0200 + xorg (1:7.7+9) unstable; urgency=medium * Remove the siliconmotion driver from xserver-xorg-video-all. diff -Nru xorg-7.7+9/xsf-docs/Makefile xorg-7.7+9.1/xsf-docs/Makefile --- xorg-7.7+9/xsf-docs/Makefile2013-09-26 01:24:29.0 +0200 +++ xorg-7.7+9.1/xsf-docs/Makefile 2015-08-17 16:44:17.0 +0200 @@ -6,7 +6,7 @@ pdf_files = $(patsubst %.txt,%.pdf,$(txt_files)) -TXT_TO_HTML = asciidoc -a linkcss +TXT_TO_HTML = TZ=UTC asciidoc -a linkcss HTML_TO_PDF = wkhtmltopdf CSS_FILE = xsf.css ADOC_CSS_FILE= asciidoc-xhtml11.css signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795983: dbusada: please make the build reproducible
Source: dbusada Version: 0.3-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that dbusada could not be built reproducibly. The attached patch sets the timezone to UTC before calling asciidoc to avoid timezone differences in the generated docs. Once applied, dbusada can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru dbusada-0.3/debian/changelog dbusada-0.3/debian/changelog --- dbusada-0.3/debian/changelog2014-08-14 16:39:43.0 +0200 +++ dbusada-0.3/debian/changelog2015-08-17 13:25:10.0 +0200 @@ -1,3 +1,13 @@ +dbusada (0.3-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC before calling asciidoc to make the embedded dates invariant to +timezones in order to make the package build reproducibly. + + + + -- Eduard Sanou dh...@openmailbox.org Mon, 17 Aug 2015 13:24:33 +0200 + dbusada (0.3-1) unstable; urgency=medium * Update gbp.conf settings diff -Nru dbusada-0.3/debian/patches/fix-timezone-asciidoc.patch dbusada-0.3/debian/patches/fix-timezone-asciidoc.patch --- dbusada-0.3/debian/patches/fix-timezone-asciidoc.patch 1970-01-01 01:00:00.0 +0100 +++ dbusada-0.3/debian/patches/fix-timezone-asciidoc.patch 2015-08-17 13:26:01.0 +0200 @@ -0,0 +1,16 @@ +Description: Fix timezone in asciidoc + Set TZ=UTC before calling asciidoc to make the embedded dates invariant + to timezone so that the package can be build reproducibly. +Author: Eduard Sanou dh...@openmailbox.org + +--- dbusada-0.3.orig/doc/Makefile dbusada-0.3/doc/Makefile +@@ -16,7 +16,7 @@ $(DESTDIR)/asciidoc.css: asciidoc.css + cp $ $@ + + $(DESTDIR)/index.html: index page.conf ../README +- asciidoc $(ASCIIDOC_OPTS) $ $@ ++ TZ=UTC asciidoc $(ASCIIDOC_OPTS) $ $@ + + clean: + rm -f $(DESTDIR)/* diff -Nru dbusada-0.3/debian/patches/series dbusada-0.3/debian/patches/series --- dbusada-0.3/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ dbusada-0.3/debian/patches/series 2015-08-17 13:25:39.0 +0200 @@ -0,0 +1 @@ +fix-timezone-asciidoc.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795987: pngcheck: please make the build reproducible
Source: pngcheck Version: 2.3.0-7 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that pngcheck could not be built reproducibly. The attached patch sets the embedded date in the man pages generated by podman to the latest debian/changelog entry timestamp instead of local date. Once applied, pngcheck can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru pngcheck-2.3.0/debian/changelog pngcheck-2.3.0/debian/changelog --- pngcheck-2.3.0/debian/changelog 2013-06-26 11:28:27.0 +0200 +++ pngcheck-2.3.0/debian/changelog 2015-08-17 11:59:26.0 +0200 @@ -1,3 +1,11 @@ +pngcheck (2.3.0-7.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace man timestamp by SOURCE_DATE_EPOCH to make the package build +reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Mon, 17 Aug 2015 11:59:03 +0200 + pngcheck (2.3.0-7) unstable; urgency=low * debian/control diff -Nru pngcheck-2.3.0/debian/pod2man.mk pngcheck-2.3.0/debian/pod2man.mk --- pngcheck-2.3.0/debian/pod2man.mk2013-06-26 11:28:27.0 +0200 +++ pngcheck-2.3.0/debian/pod2man.mk2015-08-17 12:07:46.0 +0200 @@ -36,7 +36,11 @@ # Optional variables to set MANSECT?= 1 -PODCENTER ?= $$(date +%Y-%m-%d) +ifdef SOURCE_DATE_EPOCH +PODCENTER ?= $$(date -u -d @${SOURCE_DATE_EPOCH} +%Y-%m-%d) +else +PODCENTER ?= $$(date +%Y-%m-%d) +endif # Directories MANSRC = diff -Nru pngcheck-2.3.0/debian/rules pngcheck-2.3.0/debian/rules --- pngcheck-2.3.0/debian/rules 2013-06-26 11:28:27.0 +0200 +++ pngcheck-2.3.0/debian/rules 2015-08-17 11:56:05.0 +0200 @@ -6,6 +6,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CXXFLAGS_MAINT_APPEND = -Wall -pedantic -DUSE_ZLIB export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +export SOURCE_DATE_EPOCH = $(shell date -d $$(dpkg-parsechangelog --count 1 -SDate) +%s) LIBS = -lz signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795984: postgresql-plproxy: please make the build reproducible
Source: postgresql-plproxy Version: 2.5-5 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that postgresql-plproxy could not be built reproducibly. The attached patch sets the timezone to UTC before calling asciidoc to avoid timezone differences in the generated docs. Once applied, postgresql-plproxy can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru postgresql-plproxy-2.5/debian/changelog postgresql-plproxy-2.5/debian/changelog --- postgresql-plproxy-2.5/debian/changelog 2014-07-27 11:44:25.0 +0200 +++ postgresql-plproxy-2.5/debian/changelog 2015-08-17 16:29:06.0 +0200 @@ -1,3 +1,11 @@ +postgresql-plproxy (2.5-5.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC before calling asciidoc to make the embedded dates invariant to +timezones in order to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Mon, 17 Aug 2015 16:28:54 +0200 + postgresql-plproxy (2.5-5) unstable; urgency=medium * Rebuild against PostgreSQL 9.4. diff -Nru postgresql-plproxy-2.5/debian/patches/fix-timezone-asciidoc.patch postgresql-plproxy-2.5/debian/patches/fix-timezone-asciidoc.patch --- postgresql-plproxy-2.5/debian/patches/fix-timezone-asciidoc.patch 1970-01-01 01:00:00.0 +0100 +++ postgresql-plproxy-2.5/debian/patches/fix-timezone-asciidoc.patch 2015-08-17 16:31:06.0 +0200 @@ -0,0 +1,14 @@ +Description: Fix timezone in asciidoc + Set TZ=UTC before calling asciidoc to make the embedded dates invariant + to timezone so that the package can be build reproducibly. +Author: Eduard Sanou dh...@openmailbox.org + +--- postgresql-plproxy-2.5.orig/doc/Makefile postgresql-plproxy-2.5/doc/Makefile +@@ -16,5 +16,5 @@ web: $(HTML) + rsync -avz $(HTML) $(web)/doc/ + + %.html: %.txt +- $(ASCIIDOC) -a toc $ ++ TZ=UTC $(ASCIIDOC) -a toc $ + diff -Nru postgresql-plproxy-2.5/debian/patches/series postgresql-plproxy-2.5/debian/patches/series --- postgresql-plproxy-2.5/debian/patches/series2013-08-16 22:33:28.0 +0200 +++ postgresql-plproxy-2.5/debian/patches/series2015-08-17 16:30:54.0 +0200 @@ -1,2 +1,3 @@ makefile plproxy.h +fix-timezone-asciidoc.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] GSoC 2015 Week 12: Move forward reproducible builds
-- Hi, This week I have updated the patch for qt4-x11 that honours SOURCE_DATE_EPOCH when embedding dates with the qthelpgenerator tool to target the newest version in Debian (the patched files didn't change in the update though). I have pushed the changes in our git repository, I have uploaded the updated patched package to our custom APT, and I have attached the updated patch to the bug entry.(git, APT, bug). I have also improved the freeipmi patch I sent last week applying all the suggestions Josch made on the mailing list. I sent the patch to the already opened bug entry: https://bugs.debian.org/794792 I have fixed some individual packages that were affected by different issues that didn't have notes yet. I have also added them in the notes with the bugs and related issues. timestamps_in_documentation_generated_by_podman - xlsx2csv https://bugs.debian.org/795203 timezone difference in metadata timestamps in zip files - adblock-plus https://bugs.debian.org/795395 embedded dates (build time) in man pages - blkreplay https://bugs.debian.org/795392 - libitpp https://bugs.debian.org/795394 This Friday I flew to Germany to attend the DebConf15 in Heidelberg, where I'll meet some of the reproducible builds folks :) (I've already met 3 of them!). I'll attend the conference until it finishes (22nd of August). Best regards, Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Suggestion: sort packages in rb.d.n in single issue pages by bugs/no bugs
Hi, This afternoon I was commenting on the channel that I'd find it useful if the list of packages in rb.d.n could be split into the ones that already have a submitted patch and the ones that don't. I'd find this useful when looking for new packages to patch, hopefully it can be useful to others. Mapreri offered himself to take a look at it, this mail is also a reminder for him as well :) Best regards, -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#794014: moin: please make the build reproducible
Source: moin Version: 1.9.8-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that moin could not be built reproducibly. The attached patch normalizes the timezone and fixes timestamps from the files compressed with zip to a known value (timestamp from the last debian/changelg entry). Once applied, moin can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru moin-1.9.8/debian/changelog moin-1.9.8/debian/changelog --- moin-1.9.8/debian/changelog 2014-10-19 02:40:50.0 +0200 +++ moin-1.9.8/debian/changelog 2015-07-29 16:43:54.0 +0200 @@ -1,3 +1,10 @@ +moin (1.9.8-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix timestamps to make package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Wed, 29 Jul 2015 16:43:35 +0200 + moin (1.9.8-1) unstable; urgency=medium * New upstream release, lots of bug fixes diff -Nru moin-1.9.8/debian/process_language_pages moin-1.9.8/debian/process_language_pages --- moin-1.9.8/debian/process_language_pages2014-10-19 01:09:03.0 +0200 +++ moin-1.9.8/debian/process_language_pages2015-07-29 21:48:18.0 +0200 @@ -24,7 +24,7 @@ echo Cleaning comments in $f tmp=`mktemp -d --tmpdir=$BASE` || exit 2 cd $tmp - unzip -q $f + TZ=UTC unzip -q $f chmod a+rw ./* egrep -r -l -Z '^## ' * \ | xargs -r -0 -n 1 \ @@ -32,8 +32,11 @@ # ^^ search and drop notes in the 8 first lines. chmod a-w ./* chmod a+w MOIN_PACKAGE + # Fix files mtime before compressing to get reproducible results. + find . -newermt $(date -u -d @$SOURCE_DATE_EPOCH) -print0 | \ + xargs -0r touch --no-dereference --date=$(date -u -d @$SOURCE_DATE_EPOCH) rm $f - zip -q $f * + TZ=UTC zip -X -q $f * cd $BASE rm -Rf $tmp COUNT=$(($COUNT + 1)) diff -Nru moin-1.9.8/debian/rules moin-1.9.8/debian/rules --- moin-1.9.8/debian/rules 2014-10-19 01:09:03.0 +0200 +++ moin-1.9.8/debian/rules 2015-07-29 19:00:17.0 +0200 @@ -8,6 +8,8 @@ staticpath := $(shell sed -n -e s|^\s*release_short\s*=\s*'\([^']*\)'.*|/moin_static\1|p MoinMoin/version.py) $(if $(staticpath),,$(error Failed to resolve staticpath)) +export SOURCE_DATE_EPOCH = $(shell date -d $$(dpkg-parsechangelog --count 1 -SDate) +%s) + build-arch build-indep: build-stamp build-stamp: dh_testdir signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#794247: whizzytex: please make the build reproducible
Source: whizzytex Version: 1.3.2-1.3 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that whizzytex could not be built reproducibly. The attached patch removes timestamps from the documentation. Once applied, whizzytex can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru whizzytex-1.3.2/debian/changelog whizzytex-1.3.2/debian/changelog --- whizzytex-1.3.2/debian/changelog2014-09-15 04:44:18.0 +0200 +++ whizzytex-1.3.2/debian/changelog2015-07-31 16:10:39.0 +0200 @@ -1,3 +1,10 @@ +whizzytex (1.3.2-1.4) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Timestamp removed from docs to make package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Fri, 31 Jul 2015 16:10:22 +0200 + whizzytex (1.3.2-1.3) unstable; urgency=medium * Non-maintainer upload. diff -Nru whizzytex-1.3.2/debian/patches/remove_docs_timestamp.patch whizzytex-1.3.2/debian/patches/remove_docs_timestamp.patch --- whizzytex-1.3.2/debian/patches/remove_docs_timestamp.patch 1970-01-01 01:00:00.0 +0100 +++ whizzytex-1.3.2/debian/patches/remove_docs_timestamp.patch 2015-07-31 16:11:06.0 +0200 @@ -0,0 +1,21 @@ +Description: Remove timestamp from docs + . + whizzytex (1.3.2-1.4) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Timestamp removed from docs to make package build reproducibly. +Author: Eduard Sanou dh...@openmailbox.org + +--- + +--- whizzytex-1.3.2.orig/doc/manual.tex whizzytex-1.3.2/doc/manual.tex +@@ -43,7 +43,7 @@ + \end{rawhtml} + \pagestyle {empty} + \author {\rightline {Didier R{\'e}my}} +-\date {\hfill Version {\version}, \today} ++\date {\hfill Version {\version}} + \begingroup + \let \@\relax + \title { diff -Nru whizzytex-1.3.2/debian/patches/series whizzytex-1.3.2/debian/patches/series --- whizzytex-1.3.2/debian/patches/series 2013-10-06 09:16:11.0 +0200 +++ whizzytex-1.3.2/debian/patches/series 2015-07-31 16:10:51.0 +0200 @@ -1,3 +1,4 @@ 07_bash_makefile.patch 09_compat_config.patch 11_boxsep_boolean.patch +remove_docs_timestamp.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#794681: qt4-x11: please support timestamps from environment
Source: qt4-x11 Version: 4:4.8.7+dfsg-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that the qhelpgenerator tool from qt4-x11 embeds timestamps on the creation of qch files. For the Reproducible Builds effort we are proposing an environment variable (SOURCE_DATE_EPOCH) [2] that will contain a deterministic epoch timestamp (based on the latest debian/changelog entry) that could be used, which should be automatically exported by debhelper in the future [3]. The attached patch proposes a way to use this variable to get reproducible timestamps in the qch files generated by qhelpgenerator, if the variable has been set (if not, it falls back to the old behavior). With the attached patch packages using qhelpgenerator would then automatically embed reproducible timestamps in qch files. [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal [3]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791815 Regards, -- Dhole diff -Nru qt4-x11-4.8.7+dfsg/debian/changelog qt4-x11-4.8.7+dfsg/debian/changelog --- qt4-x11-4.8.7+dfsg/debian/changelog 2015-08-02 22:01:18.0 +0200 +++ qt4-x11-4.8.7+dfsg/debian/changelog 2015-08-04 15:19:05.0 +0200 @@ -1,3 +1,11 @@ +qt4-x11 (4:4.8.7+dfsg-2.0~reproducible1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Add support for reproducible builds by using $SOURCE_DATE_EPOCH as the +embedded timestamps in qch files generated with qhelpgenerator. + + -- Eduard Sanou dh...@openmailbox.org Tue, 04 Aug 2015 15:17:35 +0200 + qt4-x11 (4:4.8.7+dfsg-2) experimental; urgency=medium * Add Daniel Schepler's QtScript_x32_config.diff and x32.diff to let Qt4 diff -Nru qt4-x11-4.8.7+dfsg/debian/patches/Replace_timestamp_with_SOURCE_DATE_EPOCH_in_qhelpgenerator.patch qt4-x11-4.8.7+dfsg/debian/patches/Replace_timestamp_with_SOURCE_DATE_EPOCH_in_qhelpgenerator.patch --- qt4-x11-4.8.7+dfsg/debian/patches/Replace_timestamp_with_SOURCE_DATE_EPOCH_in_qhelpgenerator.patch 1970-01-01 01:00:00.0 +0100 +++ qt4-x11-4.8.7+dfsg/debian/patches/Replace_timestamp_with_SOURCE_DATE_EPOCH_in_qhelpgenerator.patch 2015-08-04 15:41:15.0 +0200 @@ -0,0 +1,102 @@ +Description: Allow the timestamps from qhelpgenerator to be externally set + In order to make qhelpgenerator output reproducible, we need a way to + set the embedded timestamps to other values than the current time. + We define a new method for QDateTime (reproducibleDateTime) that returns + a deterministic datetime object when the SOURCE_DATE_EPOCH environment + variable is set with a unix epoch timestamp, containing the datetime + defined by SOURCE_DATE_EPOCH in UTC. We replace some instances of + QDateTime::currentDateTime() by QDateTime::reproducibleDateTime() in the + sources of qhelpgenerator to make the output reproducible. +Author: Eduard Sanou dh...@openmailbox.org + +--- qt4-x11-4.8.7+dfsg.orig/src/corelib/tools/qdatetime.cpp qt4-x11-4.8.7+dfsg/src/corelib/tools/qdatetime.cpp +@@ -2892,6 +2892,15 @@ bool QDateTime::operator(const QDateTim + */ + + /*! ++\fn QDateTime QDateTime::reproducibleDateTime() ++If the environment variable SOURCE_DATE_EPOCH containing a unix epoch date ++is set, returns the datetime in SOURCE_DATE_EPOCH, in UTC. ++If SOURCE_DATE_EPOCH is not set, behaves as QDateTime::currentDateTime(). ++ ++\sa currentDateTimeUtc(), QDate::currentDate(), QTime::currentTime(), toTimeSpec() ++*/ ++ ++/*! + \fn QDateTime QDateTime::currentDateTimeUtc() + \since 4.7 + Returns the current datetime, as reported by the system clock, in +@@ -3120,6 +3129,29 @@ QDateTime QDateTime::currentDateTime() + return dt; + } + ++QDateTime QDateTime::reproducibleDateTime() ++{ ++QByteArray env_date; ++QDateTime date; ++bool env_date_ok; ++long timestamp; ++ ++env_date = qgetenv(SOURCE_DATE_EPOCH); ++if (env_date.length() != 0) { ++timestamp = env_date.toLong(env_date_ok, 10); ++if (!env_date_ok) { ++// SOURCE_DATE_EPOCH is not a number! ++timestamp = 0; ++} ++date = QDateTime::fromTime_t(timestamp).toUTC(); ++} else { ++date = QDateTime::currentDateTime(); ++} ++ ++return date; ++} ++ ++ + QDateTime QDateTime::currentDateTimeUtc() + { + // posix compliant system +--- qt4-x11-4.8.7+dfsg.orig/src/corelib/tools/qdatetime.h qt4-x11-4.8.7+dfsg/src/corelib/tools/qdatetime.h +@@ -264,6 +264,7 @@ public: + int utcOffset() const; + + static QDateTime currentDateTime(); ++static QDateTime reproducibleDateTime(); + static QDateTime currentDateTimeUtc(); + #ifndef QT_NO_DATESTRING + static QDateTime fromString(const QString s, Qt::DateFormat f = Qt::TextDate); +--- qt4-x11-4.8.7
[Reproducible-builds] Bug#795203: xlsx2csv: please make the build reproducible
Source: xlsx2csv Version: 0.20+20121013+gitfa44ba6-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that xlsx2csv could not be built reproducibly. The attached patch replaces the timestamp in the docs with the latest debian/changelog entry timestamp. Once applied, xlsx2csv can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru xlsx2csv-0.20+20121013+gitfa44ba6/debian/changelog xlsx2csv-0.20+20121013+gitfa44ba6/debian/changelog --- xlsx2csv-0.20+20121013+gitfa44ba6/debian/changelog 2013-06-06 06:43:15.0 +0200 +++ xlsx2csv-0.20+20121013+gitfa44ba6/debian/changelog 2015-08-10 23:39:03.0 +0200 @@ -1,3 +1,11 @@ +xlsx2csv (0.20+20121013+gitfa44ba6-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace man timestamp by the latest debian/changelog entry timestamp +to make the package build reproducible. + + -- Eduard Sanou dh...@openmailbox.org Mon, 10 Aug 2015 23:38:31 +0200 + xlsx2csv (0.20+20121013+gitfa44ba6-1) unstable; urgency=low * Initial release (Closes: #690354). diff -Nru xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/honour-SOURCE_DATE_EPOCH.patch xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/honour-SOURCE_DATE_EPOCH.patch --- xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/honour-SOURCE_DATE_EPOCH.patch 1970-01-01 01:00:00.0 +0100 +++ xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/honour-SOURCE_DATE_EPOCH.patch 2015-08-10 23:40:17.0 +0200 @@ -0,0 +1,20 @@ +Description: Fix man timestamp + Replace man timestamp with the latest debian/changelog timestamp entry to + make the man pages reproducible. +Author: Eduard Sanou dh...@openmailbox.org + +--- xlsx2csv-0.20+20121013+gitfa44ba6.orig/man/pod2man.mk xlsx2csv-0.20+20121013+gitfa44ba6/man/pod2man.mk +@@ -40,7 +40,11 @@ PACKAGE ?= package + # Optional variables to set + MANSECT ?= 1 + PODCENTER ?= User Commands +-PODDATE ?= $$(date +%Y-%m-%d) ++ifdef SOURCE_DATE_EPOCH ++PODDATE ?= $$(date -u -d @${SOURCE_DATE_EPOCH} +%Y-%m-%d) ++else ++PODDATE ?= $$(date +%Y-%m-%d) ++endif + + # Directories + MANSRC?= diff -Nru xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/series xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/series --- xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/series 2013-06-06 06:43:15.0 +0200 +++ xlsx2csv-0.20+20121013+gitfa44ba6/debian/patches/series 2015-08-10 23:39:23.0 +0200 @@ -1 +1,2 @@ 10-eol-handler.patch +honour-SOURCE_DATE_EPOCH.patch diff -Nru xlsx2csv-0.20+20121013+gitfa44ba6/debian/rules xlsx2csv-0.20+20121013+gitfa44ba6/debian/rules --- xlsx2csv-0.20+20121013+gitfa44ba6/debian/rules 2013-06-06 06:43:15.0 +0200 +++ xlsx2csv-0.20+20121013+gitfa44ba6/debian/rules 2015-08-10 23:34:29.0 +0200 @@ -4,6 +4,8 @@ URL= git://github.com/dilshod/xlsx2csv.git UPSTREAMDIR= ../upstream.git +export SOURCE_DATE_EPOCH = $(shell date -d $$(dpkg-parsechangelog --count 1 -SDate) +%s) + man: $(MAKE) -C man -f pod2man.mk PACKAGE=$(PACKAGE) makeman signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#794792: freeipmi: please make the build reproducible
Source: freeipmi Version: 1.4.9-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that freeipmi could not be built reproducibly. The attached patch replaces the timestamp in the docs with the latest debian/changelog entry timestamp. Once applied, freeipmi can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru freeipmi-1.4.9/debian/changelog freeipmi-1.4.9/debian/changelog --- freeipmi-1.4.9/debian/changelog 2015-07-01 16:09:12.0 +0200 +++ freeipmi-1.4.9/debian/changelog 2015-08-06 17:17:47.0 +0200 @@ -1,3 +1,12 @@ +freeipmi (1.4.9-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace man pages dates with the timestamp from the latest +debian/changelog entry using the variable SOURCE_DATE_EPOCH to make the +package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Thu, 06 Aug 2015 17:16:40 +0200 + freeipmi (1.4.9-1) unstable; urgency=medium * Fresh upstream release diff -Nru freeipmi-1.4.9/debian/patches/honour-SOURCE_DATE_EPOCH.patch freeipmi-1.4.9/debian/patches/honour-SOURCE_DATE_EPOCH.patch --- freeipmi-1.4.9/debian/patches/honour-SOURCE_DATE_EPOCH.patch 1970-01-01 01:00:00.0 +0100 +++ freeipmi-1.4.9/debian/patches/honour-SOURCE_DATE_EPOCH.patch 2015-08-06 17:18:43.0 +0200 @@ -0,0 +1,21 @@ +Description: Honour SOURCE_DATE_EPOCH in manpages + . + freeipmi (1.4.9-1.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Replace man pages dates with the timestamp from the latest + debian/changelog entry using the variable SOURCE_DATE_EPOCH to make the + package build reproducibly. +Author: Eduard Sanou dh...@openmailbox.org + +--- freeipmi-1.4.9.orig/configure freeipmi-1.4.9/configure +@@ -2723,7 +2723,7 @@ ac_config_headers=$ac_config_headers co + ac_config_files=$ac_config_files freeipmi.spec Makefile bmc-device/Makefile bmc-info/Makefile bmc-watchdog/Makefile common/Makefile common/debugutil/Makefile common/miscutil/Makefile common/parsecommon/Makefile common/pingtool/Makefile common/portability/Makefile common/toolcommon/Makefile contrib/Makefile doc/Makefile etc/Makefile ipmi-chassis/Makefile ipmi-config/Makefile ipmi-dcmi/Makefile ipmi-fru/Makefile ipmi-locate/Makefile ipmi-oem/Makefile ipmi-pet/Makefile ipmi-raw/Makefile ipmi-sel/Makefile ipmi-sensors/Makefile ipmiconsole/Makefile ipmidetect/Makefile ipmidetectd/Makefile ipmiping/Makefile ipmipower/Makefile ipmiseld/Makefile libfreeipmi/Makefile libfreeipmi/libfreeipmi.pc libfreeipmi/include/Makefile libfreeipmi/include/freeipmi/freeipmi.h libipmiconsole/Makefile libipmiconsole/ipmiconsole.h libipmiconsole/libipmiconsole.pc libipmidetect/Makefile libipmidetect/ipmidetect.h libipmidetect/libipmidetect.pc libipmimonitoring/Makefile libipmimonitoring/ipmi_monitoring.h libipmimonitoring/libipmimonitoring.pc man/Makefile man/bmc-device.8.pre man/bmc-info.8.pre man/bmc-watchdog.8.pre man/freeipmi.conf.5.pre man/freeipmi.7.pre man/ipmi-chassis.8.pre man/ipmi-config.8.pre man/ipmi-config.conf.5.pre man/ipmi-dcmi.8.pre man/ipmi-fru.8.pre man/ipmi-locate.8.pre man/ipmi-oem.8.pre man/ipmi-pet.8.pre man/ipmi-raw.8.pre man/ipmi-sel.8.pre man/ipmi-sensors.8.pre man/ipmiconsole.8.pre man/ipmidetect.8.pre man/ipmidetect.conf.5.pre man/ipmidetectd.8.pre man/ipmidetectd.conf.5.pre man/ipmiping.8.pre man/ipmipower.8.pre man/ipmiseld.8.pre man/ipmiseld.conf.5.pre man/libfreeipmi.3.pre man/freeipmi_interpret_sensor.conf.5.pre man/freeipmi_interpret_sel.conf.5.pre man/libipmiconsole.3.pre man/libipmiconsole.conf.5.pre man/libipmidetect.3.pre man/libipmimonitoring.3.pre man/rmcpping.8.pre rmcpping/Makefile + + +-ISODATE=`date +%Y-%m-%d` ++ISODATE=`date -u -d @$SOURCE_DATE_EPOCH +%Y-%m-%d` + + + # libfreeipmi libtool versioning diff -Nru freeipmi-1.4.9/debian/patches/series freeipmi-1.4.9/debian/patches/series --- freeipmi-1.4.9/debian/patches/series2015-07-01 16:09:12.0 +0200 +++ freeipmi-1.4.9/debian/patches/series2015-08-06 17:18:17.0 +0200 @@ -1 +1,2 @@ deb_bmc-watchdog_noRUN +honour-SOURCE_DATE_EPOCH.patch diff -Nru freeipmi-1.4.9/debian/rules freeipmi-1.4.9/debian/rules --- freeipmi-1.4.9/debian/rules 2015-07-01 16:09:12.0 +0200 +++ freeipmi-1.4.9/debian/rules 2015-08-06 17:12:52.0 +0200 @@ -1,6 +1,8 @@ #!/usr/bin/make -f # -*- makefile -*- +export SOURCE_DATE_EPOCH = $(shell date -d $$(dpkg-parsechangelog --count 1 -SDate) +%s) + # --fail-missing for dh_install # --link-doc for dh_installdocs %: signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org
[Reproducible-builds] Bug#794793: doc-base: please make the build reproducible
Source: doc-base Version: 0.10.6 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that doc-base could not be built reproducibly. The attached patch sets the timeznoe to UTC for the timestamps in the docs. Once applied, doc-base can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru doc-base-0.10.6/common.mk doc-base-0.10.6+nmu1/common.mk --- doc-base-0.10.6/common.mk 2014-08-24 22:15:11.0 +0200 +++ doc-base-0.10.6+nmu1/common.mk 2015-08-06 17:50:25.0 +0200 @@ -35,7 +35,7 @@ DATE := $(shell LC_ALL=C dpkg-parsechangelog -l$(CHANGELOGFILE) \ | sed -n 's/^Date: *//p') # pretty-print the date; I wish this was dynamic like the top-level makefile but oh well - DATE_EN := $(shell LC_ALL=C date --date=$(DATE) '+%d %B, %Y') + DATE_EN := $(shell LC_ALL=C date -u --date=$(DATE) '+%d %B, %Y') export VERSION DATE DATE_EN unexport CDPATH diff -Nru doc-base-0.10.6/debian/changelog doc-base-0.10.6+nmu1/debian/changelog --- doc-base-0.10.6/debian/changelog2014-08-24 22:15:11.0 +0200 +++ doc-base-0.10.6+nmu1/debian/changelog 2015-08-06 17:00:50.0 +0200 @@ -1,3 +1,10 @@ +doc-base (0.10.6+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set UTC date when generating docs to get reproducible results. + + -- Eduard Sanou dh...@openmailbox.org Thu, 06 Aug 2015 17:00:34 +0200 + doc-base (0.10.6) unstable; urgency=medium * Fix `Possible precedence issue with control flow operator' signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#794795: debiandoc-sgml-doc: please make the build reproducible
On 08/07/2015 03:39 PM, Osamu Aoki wrote: I noticed many people are fixing this issue in this way. That may fix some itch for small group of highly technically minded people but does disservice to many end-users. We should better as DD than the one proposed. - versiondate/version That's very rough approach. Let's promote to use the last changelog entry date for this kind of BUILD_DATE for reproducible build. I think something like the following to set it: # short date of this Debian package (debian/changelog) BUILD_DATE ?= $(shell { date +'%Y-%m-%d' -d`dpkg-parsechangelog -SDate` || date +'(No changelog) %Y-%m-%d' ; }) Patch should be more like - versiondate/version + versionbuilddate;/version Then set the date via entity. Osamu Hi Osamu, I understand your concern about keeping the date on the generated docs. As per your suggested solution: replacing the timestamp with the date from latests debian/changelog entry is something we are usually doing in the reproducible builds team to fix issues like this one. In this case, I didn't find a nice way to pass an external variable to the sgml files. That's why my first approach was to plainly remove the timestamp (It happens in many packages that the timestamp is not really needed). But I understand that in debiandoc-sgml-doc the date should be kept. I've searched through the documentation of debiandoc, but I didn't find how to pass external values. How do you define an entity (builddate in your example) so that it can be filled externally? I can provide a patch like that once I learn how to pass external variables to the docs :) Thanks! -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795395: adblock-plus: please make the build reproducible
Source: adblock-plus Version: 2.6.9.1+dfsg+4real-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that adblock-plus could not be built reproducibly. The attached patch sets the timezone to UTC before calling the build.py script to avoid timezone differences in zip metadata. Once applied, adblock-plus can be builtreproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru adblock-plus-2.6.9.1+dfsg+4real/debian/changelog adblock-plus-2.6.9.1+dfsg+4real/debian/changelog --- adblock-plus-2.6.9.1+dfsg+4real/debian/changelog2015-06-09 20:00:48.0 +0200 +++ adblock-plus-2.6.9.1+dfsg+4real/debian/changelog2015-08-12 21:00:42.0 +0200 @@ -1,3 +1,10 @@ +adblock-plus (2.6.9.1+dfsg+4real-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix timezone when running build.py to make the package build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Wed, 12 Aug 2015 21:00:15 +0200 + adblock-plus (2.6.9.1+dfsg+4real-1) unstable; urgency=medium * Restore buildtools as of 2.6.9 (Closes: #788225) diff -Nru adblock-plus-2.6.9.1+dfsg+4real/debian/rules adblock-plus-2.6.9.1+dfsg+4real/debian/rules --- adblock-plus-2.6.9.1+dfsg+4real/debian/rules2015-06-08 22:17:58.0 +0200 +++ adblock-plus-2.6.9.1+dfsg+4real/debian/rules2015-08-12 20:59:43.0 +0200 @@ -4,7 +4,7 @@ dh $@ --with xul-ext override_dh_auto_build: - python build.py build --release + TZ=UTC python build.py build --release override_dh_auto_install: install-xpi adblockplus*.xpi signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [Soc-coordination] GSoC 2015 Week 11: Move forward reproducible builds
I forgot to add that I wrote a second blog post at https://dhole.github.io/post/reproducible_builds_debian_gsoc2015_update_1/ describing my experiences of these two months of work in the reproducible builds project. I also wrote about my impressions on the project and in working on a free software project. Thanks h01ger for reminding me about this! -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#794779: foxyproxy: please make the build reproducible
Source: foxyproxy Version: 3.4-1.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that foxyproxy could not be built reproducibly. The attached patch removes timezone-varying timestamps from the files compressed with zip. Once applied, foxyproxy can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -u foxyproxy-3.4/debian/rules foxyproxy-3.4/debian/rules --- foxyproxy-3.4/debian/rules +++ foxyproxy-3.4/debian/rules @@ -18,7 +18,7 @@ rm -rf get-orig-source override_dh_auto_build: - cd src; ant build-foxyproxy-standard + cd src; TZ=UTC ant build-foxyproxy-standard mv targets/foxyproxy-standard*.xpi . rmdir targets/ diff -u foxyproxy-3.4/debian/changelog foxyproxy-3.4/debian/changelog --- foxyproxy-3.4/debian/changelog +++ foxyproxy-3.4/debian/changelog @@ -1,3 +1,11 @@ +foxyproxy (3.4-1.2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC before calling ant to normalize timezones and make the package +build reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Wed, 05 Aug 2015 18:54:11 +0200 + foxyproxy (3.4-1.1) unstable; urgency=low * Non-maintainer upload. signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#795394: libitpp: please make the build reproducible
Source: libitpp Version: 4.3.1-4 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that libitpp could not be built reproducibly. The attached patch replaces the timestamp in the docs with the latest debian/changelog entry timestamp. Once applied, libitpp can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru libitpp-4.3.1/debian/changelog libitpp-4.3.1/debian/changelog --- libitpp-4.3.1/debian/changelog 2015-03-01 02:59:24.0 +0100 +++ libitpp-4.3.1/debian/changelog 2015-08-12 23:45:14.0 +0200 @@ -1,3 +1,11 @@ +libitpp (4.3.1-4.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace man timestamp by SOURCE_DATE_EPOCH to make the package build +reproducibly. + + -- Eduard Sanou dh...@openmailbox.org Wed, 12 Aug 2015 23:44:45 +0200 + libitpp (4.3.1-4) experimental; urgency=medium * debian/patches: diff -Nru libitpp-4.3.1/debian/patches/honour-SOURCE_DATE_EPOCH.diff libitpp-4.3.1/debian/patches/honour-SOURCE_DATE_EPOCH.diff --- libitpp-4.3.1/debian/patches/honour-SOURCE_DATE_EPOCH.diff 1970-01-01 01:00:00.0 +0100 +++ libitpp-4.3.1/debian/patches/honour-SOURCE_DATE_EPOCH.diff 2015-08-12 23:46:53.0 +0200 @@ -0,0 +1,20 @@ +Description: Honour SOURCE_DATE_EPOCH in man pages + Replace manpage timestamp with SOURCE_DATE_EPOCH only if the variable is + defined, to make the man pages reproducible. +Author: Eduard Sanou dh...@openmailbox.org + +--- libitpp-4.3.1.orig/CMakeLists.txt libitpp-4.3.1/CMakeLists.txt +@@ -155,7 +155,11 @@ set (PACKAGE_STRING ${PACKAGE_NAME} ${P + set (PACKAGE_TARNAME ${PACKAGE}) + set (PACKAGE_URL ) + if (UNIX) +- EXECUTE_PROCESS(COMMAND date +%d/%m/%Y OUTPUT_VARIABLE PACKAGE_DATE) ++ if (DEFINED ENV{SOURCE_DATE_EPOCH}) ++EXECUTE_PROCESS(COMMAND date -u -d @${SOURCE_DATE_EPOCH} +%d/%m/%Y OUTPUT_VARIABLE PACKAGE_DATE) ++ else() ++EXECUTE_PROCESS(COMMAND date +%d/%m/%Y OUTPUT_VARIABLE PACKAGE_DATE) ++ endif() + string(REGEX REPLACE (..)/(..)/..(..).* \\1/\\2/\\3 PACKAGE_DATE ${PACKAGE_DATE}) + else() + set(PACKAGE_DATE ) diff -Nru libitpp-4.3.1/debian/patches/series libitpp-4.3.1/debian/patches/series --- libitpp-4.3.1/debian/patches/series 2015-02-28 02:31:01.0 +0100 +++ libitpp-4.3.1/debian/patches/series 2015-08-12 23:46:00.0 +0200 @@ -1,3 +1,4 @@ 741814-FTBFS-fix.diff itpp-pc-fix.diff delete-sflogo.diff +honour-SOURCE_DATE_EPOCH.diff signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#793300: deejayd: please make the build reproducible
Source: deejayd Version: 0.10.0-6 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that deejayd could not be built reproducibly. The attached patch removes timezone-varying timestamps from the files compressed with zip. Once applied, deejayd can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru deejayd-0.10.0/debian/changelog deejayd-0.10.0/debian/changelog --- deejayd-0.10.0/debian/changelog 2014-05-06 07:34:18.0 +0200 +++ deejayd-0.10.0/debian/changelog 2015-07-22 16:55:19.0 +0200 @@ -1,3 +1,10 @@ +deejayd (0.10.0-6.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix timezone before creating zip file to make package build reproducible. + + -- Dhole dh...@openmailbox.org Wed, 22 Jul 2015 16:54:50 +0200 + deejayd (0.10.0-6) unstable; urgency=medium * Depend on libxine2-x (Closes: #747099). diff -Nru deejayd-0.10.0/debian/patches/fix_timezone deejayd-0.10.0/debian/patches/fix_timezone --- deejayd-0.10.0/debian/patches/fix_timezone 1970-01-01 01:00:00.0 +0100 +++ deejayd-0.10.0/debian/patches/fix_timezone 2015-07-22 16:56:04.0 +0200 @@ -0,0 +1,21 @@ +Description: Fix timezone before creating zip + . + deejayd (0.10.0-6.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Fix timezone before creating zip file to make package build reproducible. +Author: Dhole dh...@openmailbox.org + +--- + +--- deejayd-0.10.0.orig/setup.py deejayd-0.10.0/setup.py +@@ -62,6 +62,8 @@ class build_extension(Command): + + # first remove old zip file + self.clean() ++# Fix timezone to get reproducible results when adding files to zip ++os.environ['TZ'] = 'UTC' + ext_file = ZipFile(self.ext_path, 'w') + for root, dirs, files in os.walk(self.ext_dir): + for f in files: diff -Nru deejayd-0.10.0/debian/patches/series deejayd-0.10.0/debian/patches/series --- deejayd-0.10.0/debian/patches/series2014-05-06 07:27:53.0 +0200 +++ deejayd-0.10.0/debian/patches/series2015-07-22 16:55:44.0 +0200 @@ -7,3 +7,4 @@ mobileuifix xul-webui-firefox-version inotifyfixes +fix_timezone signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] retitle my last two bugs
retitle 793126 torbutton: please make the build reproducible retitle 793127 pdf.js: please make the build reproducible thanks -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792687: gettext: please support timestamps from environment
Source: gettext Version: 0.19.4-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that the xgettext tool from gettext embeds timestamps on the creation of PO files. For the Reproducible Builds effort we are proposing an environment variable (SOURCE_DATE_EPOCH) [2] that will contain a deterministic epoch timestamp (based on the latest debian/changelog entry) that could be used, which should be automatically exported by debhelper in the future [3]. The attached patch proposes a way to use this variable to get reproducible timestamps in the PO files generated by xgettext, if the variable has been set (if not, it falls back to the old behavior). With the attached patch packages using xgettext would then automatically generate reproducible translation files. [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal [3]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791815 Regards, -- Dhole diff -Nru gettext-0.19.4/debian/changelog gettext-0.19.4/debian/changelog --- gettext-0.19.4/debian/changelog 2015-05-15 18:01:14.0 +0200 +++ gettext-0.19.4/debian/changelog 2015-07-17 15:47:54.0 +0200 @@ -1,3 +1,11 @@ +gettext (0.19.4-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Add support for reproducible builds by using $SOURCE_DATE_EPOCH as the +date on creation of PO files with xgettext. + + -- Dhole dh...@openmailbox.org Fri, 17 Jul 2015 15:47:41 +0200 + gettext (0.19.4-1) unstable; urgency=low * New upstream release. diff -Nru gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH --- gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH 1970-01-01 01:00:00.0 +0100 +++ gettext-0.19.4/debian/patches/03-Replace-timestamp-with-SOURCE_DATE_EPOCH 2015-07-17 15:56:22.0 +0200 @@ -0,0 +1,47 @@ +Description: Replace date timestamp by SOURCE_DATE_EPOCH env var in xgettext + . + gettext (0.19.4-1.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Add support for reproducible builds by using $SOURCE_DATE_EPOCH as the + date on creation of PO files with xgettext. +Author: Dhole dh...@openmailbox.org + +--- + +--- gettext-0.19.4.orig/gettext-tools/src/xgettext.c gettext-0.19.4/gettext-tools/src/xgettext.c +@@ -3410,6 +3410,7 @@ construct_header () + message_ty *mp; + char *msgstr; + char *comment; ++ char *source_date_epoch; + static lex_pos_ty pos = { __FILE__, __LINE__ }; + + if (package_name != NULL) +@@ -3431,7 +3432,24 @@ the MSGID_BUGS_ADDRESS variable there; o + specify an --msgid-bugs-address command line option.\n\ + ))); + +- time (now); ++ /* Allow the date and time to be set externally by an exported ++ environment variable to enable reproducible builds. */ ++ source_date_epoch = getenv (SOURCE_DATE_EPOCH); ++ if (source_date_epoch) ++{ ++ errno = 0; ++ now = (time_t) strtol (source_date_epoch, NULL, 10); ++ if (errno != 0) ++error (EXIT_FAILURE, errno, _(\ ++SOURCE_DATE_EPOCH=\%s\ is not a valid number), source_date_epoch); ++ ++ /* The function po_strftime uses localtime() to parse the timestamp, so ++ we need to fix the environment timezone to get reproducible results */ ++ setenv(TZ, UTC, 1); ++} ++ else ++time (now); ++ + timestring = po_strftime (now); + + msgstr = xasprintf (\ diff -Nru gettext-0.19.4/debian/patches/series gettext-0.19.4/debian/patches/series --- gettext-0.19.4/debian/patches/series2015-05-15 17:19:58.0 +0200 +++ gettext-0.19.4/debian/patches/series2015-07-17 15:55:50.0 +0200 @@ -1,2 +1,3 @@ 01-do-not-use-java-in-urlget 02-msgfmt-default-little-endian +03-Replace-timestamp-with-SOURCE_DATE_EPOCH signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] GSoC 2015 Week 9: Move forward reproducible builds
Hi, This week I have patched the two remaining packages tagged by the issue timestamps_difference_by_unzip [1], plus another one also affected by this issue which wasn't tagged: - torbutton https://bugs.debian.org/793126 - pdf.js https://bugs.debian.org/793127 - deejayd https://bugs.debian.org/793300 I have been looking at a package affected by timestamps in zip (moin). I managed to get rid of some of the unreproducibility issues: the timestamps in the metadata shown by zipinfo, out of which some are files mtimes that differ by timezone (solved by settings TZ=UTC before zip/unzip calls), and others are localtime timestamps (solved by replacing timestamps with SOURCE_DATE_EPOCH). After this, some differences still appear, now not seen by zipinfo but in the file treated in binary form. This package adds files to zip through a python script during the build. It requieres further study. I have also studied the issue pdf_created_by_ghostscript [2] which has 18 unreproducible affected packages. There was a tentative patch for ghostcript in our git repository from January, but it had never been submited. The patch allowed the embedded timestamps to be replaced by an exported variable, originally DEB_BUILD_TIMESTAMP, which I changed to SOURCE_DATE_EPOCH to follow our current normalized timestamp proposal. I have also added code to normalize the timezone to UTC in case SOURCE_DATE_EPOCH is used, so that the results are timezone invariant. The commit with the patch can be found at: https://anonscm.debian.org/cgit/reproducible/ghostscript.git/commit/?h=pu/reproducible_builds I have also uploaded the package in our APT repository. I have tested this patched ghostscript with some of the packages affected by pdf_created_by_ghostscript. Unluckily none of them become reproducible without any change. This is because the commands to generate the documentation that use ghostscript don't happen under dh, which currently is the only place where SOURCE_DATE_ECPOH is automatically exported. Upon exporting this variable manually in debian/rules, I obtained the following results: - glosstex (becomes reproducible) - kimwitu++ (timestamp differences from ghostscript disappear. Remaining timestamps come from pdflatex due to timezone variation, akira is working on that) - autoconf (timestamp differences from ghostscript disappear. Remaining timestamps come from other places, further inspection requiered) - cvs (same results obtained, it seems this package was misstagged and actually uses latex to produce pdfs) - proxy-suite (becomes reproducible) - lprng-doc (becomes reproducible) - gstreamer1.0 (timestamp differences from ghostscript disappear. Variable timestamps in .ps files remain, further inspection requiered) - transfig (timestamp differences from ghostscript disappear. Remaining timestamps come from pdflatex due to timezone variation, akira is working on that) For next week I plan to send the ghostscript patches to debian and probably upstream. I'll look further at the remaining issues from the packages I studied this week (the ones affected by pdf_created_by_ghostscript). I may continue looking into moin. [1] https://reproducible.debian.net/issues/unstable/timestamps_difference_by_unzip_issue.html [2] https://reproducible.debian.net/issues/pdf_created_by_ghostscript_issue.html Best regards, Dhole pgpEZnyRJinWQ.pgp Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792593: lives: please make the build reproducible
Source: lives Version: 2.4.0~ds0-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that lives could not be built reproducibly. During the building of the plugins from script files, the onchange entires appear in random ordering as they are stored in a hash and then iterated by the hash keys (who's order can differ between runs). The attached patch sorts the onchange entries when building plugins from scripts to make the package build reproducible. Once applied, lives can be built reproducibly in our current experimental framework. Please also consider forwarding this patch upstream. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru lives-2.4.0~ds0/debian/changelog lives-2.4.0~ds0/debian/changelog --- lives-2.4.0~ds0/debian/changelog2015-07-11 17:49:51.0 +0200 +++ lives-2.4.0~ds0/debian/changelog2015-07-15 17:36:30.0 +0200 @@ -1,3 +1,11 @@ +lives (2.4.0~ds0-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Sort the onchange entries when building plugins from scripts to +make the package build reproducible. + + -- Dhole dh...@openmailbox.org Wed, 15 Jul 2015 17:36:10 +0200 + lives (2.4.0~ds0-1) unstable; urgency=medium [ Alessio Treglia ] diff -Nru lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch --- lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch 1970-01-01 01:00:00.0 +0100 +++ lives-2.4.0~ds0/debian/patches/06-sort-onchanges-entries-in-plugins.patch 2015-07-15 17:37:06.0 +0200 @@ -0,0 +1,22 @@ +Description: Sort onchange entries when generating plugins + . + lives (2.4.0~ds0-1.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Sort the onchange entries when building plugins from scripts to + make package build reproducible. +Author: Dhole dh...@openmailbox.org + +--- + +--- lives-2.4.0~ds0.orig/build-lives-rfx-plugin lives-2.4.0~ds0/build-lives-rfx-plugin +@@ -655,7 +655,7 @@ sub gen_onchange { + } + + if ($pass==1) { +- foreach $which (keys %hash) { ++ foreach $which (sort keys %hash) { + print OUT \nif (\$command eq \onchange_$which\) {\n; + + if (@requires$is_util$which eq init) { diff -Nru lives-2.4.0~ds0/debian/patches/series lives-2.4.0~ds0/debian/patches/series --- lives-2.4.0~ds0/debian/patches/series 2015-07-05 16:27:05.0 +0200 +++ lives-2.4.0~ds0/debian/patches/series 2015-07-15 17:36:44.0 +0200 @@ -5,3 +5,4 @@ 05-gcc-5.patch parallel-build.patch 9990-buildsystem.patch +06-sort-onchanges-entries-in-plugins.patch signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792598: libreoffice-canzeley-client: please make the build reproducible
Source: libreoffice-canzeley-client Version: 0.4.0-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that libreoffice-canzeley-client could not be built reproducibly. The attached patch removes timezone-varying timestamps from the files extracted with unzip. Once applied, libreoffice-canzeley-client can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru libreoffice-canzeley-client-0.4.0/debian/changelog libreoffice-canzeley-client-0.4.0/debian/changelog --- libreoffice-canzeley-client-0.4.0/debian/changelog 2014-10-25 02:03:57.0 +0200 +++ libreoffice-canzeley-client-0.4.0/debian/changelog 2015-07-15 19:22:27.0 +0200 @@ -1,3 +1,11 @@ +libreoffice-canzeley-client (0.4.0-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * add TZ=UTC before unzip in debian/rules to make the files mtime +invariant to timezone to make the package build reproducibly. + + -- Dhole dh...@openmailbox.org Wed, 15 Jul 2015 19:22:19 +0200 + libreoffice-canzeley-client (0.4.0-2) unstable; urgency=low * Correct typo in control diff -Nru libreoffice-canzeley-client-0.4.0/debian/rules libreoffice-canzeley-client-0.4.0/debian/rules --- libreoffice-canzeley-client-0.4.0/debian/rules 2014-07-06 12:23:51.0 +0200 +++ libreoffice-canzeley-client-0.4.0/debian/rules 2015-07-15 19:22:12.0 +0200 @@ -26,7 +26,7 @@ dh_installdirs -A cd $(CURDIR)/debian/libreoffice-canzeley-client/usr/lib/libreoffice/share/extensions/canzeley-client \ - unzip -o $(CURDIR)/Extension/canzeley_*.oxt + TZ=UTC unzip -o $(CURDIR)/Extension/canzeley_*.oxt mv $(CURDIR)/debian/libreoffice-canzeley-client/usr/lib/libreoffice/share/extensions/canzeley-client/icons $(CURDIR)/debian/libreoffice-canzeley-client/usr/share/libreoffice-canzeley-client/ dh_lintian signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792599: openthesaurus: please make the build reproducible
Source: openthesaurus Version: 20120516-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that openthesaurus could not be built reproducibly. The attached patch removes timezone-varying timestamps from the files extracted with unzip. Once applied, openthesaurus can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru openthesaurus-20120516/debian/changelog openthesaurus-20120516/debian/changelog --- openthesaurus-20120516/debian/changelog 2012-12-18 17:25:04.0 +0100 +++ openthesaurus-20120516/debian/changelog 2015-07-15 19:36:11.0 +0200 @@ -1,3 +1,11 @@ +openthesaurus (20120516-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * add TZ=UTC before unzip in debian/rules to make the files mtime +invariant to timezone to make the package build reproducibly. + + -- Dhole dh...@openmailbox.org Wed, 15 Jul 2015 19:34:49 +0200 + openthesaurus (20120516-2) unstable; urgency=low * fix sed in debian/rules for utf8-encoded dicts so that ß is correctly diff -Nru openthesaurus-20120516/debian/rules openthesaurus-20120516/debian/rules --- openthesaurus-20120516/debian/rules 2012-12-18 17:22:00.0 +0100 +++ openthesaurus-20120516/debian/rules 2015-07-15 19:34:30.0 +0200 @@ -51,7 +51,7 @@ mkdir -p $(CURDIR)/debian/openthesaurus-de-text/usr/share/openthesaurus-de/ cd $(CURDIR)/debian/openthesaurus-de-text/usr/share/openthesaurus-de \ - unzip $(CURDIR)/text/OpenThesaurus-Textversion.zip openthesaurus.txt \ + TZ=UTC unzip $(CURDIR)/text/OpenThesaurus-Textversion.zip openthesaurus.txt \ ln -sf openthesaurus.txt thesaurus.txt install -D -m644 th_de_DE_v2.dat \ signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792597: jsmath-fonts-sprite: please make the build reproducible
Source: jsmath-fonts-sprite Version: 1.0-3 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that jsmath-fonts-sprite could not be built reproducibly. The attached patch removes timezone-varying timestamps from the files extracted with unzip. Once applied, jsmath-fonts-sprite can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru jsmath-fonts-sprite-1.0/debian/changelog jsmath-fonts-sprite-1.0/debian/changelog --- jsmath-fonts-sprite-1.0/debian/changelog2014-03-23 21:25:14.0 +0100 +++ jsmath-fonts-sprite-1.0/debian/changelog2015-07-15 19:11:45.0 +0200 @@ -1,3 +1,11 @@ +jsmath-fonts-sprite (1.0-3.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * add TZ=UTC before unzip in debian/rules to make the files mtime +invariant to timezone to make the package build reproducibly. + + -- Dhole dh...@openmailbox.org Wed, 15 Jul 2015 19:11:31 +0200 + jsmath-fonts-sprite (1.0-3) unstable; urgency=medium * Adopted the package. Closes: #621474 diff -Nru jsmath-fonts-sprite-1.0/debian/rules jsmath-fonts-sprite-1.0/debian/rules --- jsmath-fonts-sprite-1.0/debian/rules2014-03-23 21:28:14.0 +0100 +++ jsmath-fonts-sprite-1.0/debian/rules2015-07-15 19:09:56.0 +0200 @@ -16,7 +16,7 @@ dh $@ override_dh_auto_build: - unzip -q -d jsMath jsMath-*.zip + TZ=UTC unzip -q -d jsMath jsMath-*.zip override_dh_clean: dh_clean signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#792709: dict-jargon: please support timestamps from environment
Source: dict-jargon Version: 4.4.7-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that dict-jargon could not be built reproducibly. The attached patch removes timestamps from the build system. Once applied, dict-jargon can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -u dict-jargon-4.4.7/debian/jargon2dict.sh dict-jargon-4.4.7/debian/jargon2dict.sh --- dict-jargon-4.4.7/debian/jargon2dict.sh +++ dict-jargon-4.4.7/debian/jargon2dict.sh @@ -77,7 +77,8 @@ echo [+] formatting dictionary database - dictfmt -j -s The Jargon File (version 4.4.7, 29 Dec 2003) \ + dictfmt -j -s The Jargon File (version 4.4.7, 29 Dec 2003) --without-time \ -u http://catb.org/~esr/jargon/jargsrc.tar.gz; \ --utf8 --allchars --columns 79 'jargon' 'extracted' echo [+] compressing dictionary + touch --date=$BUILD_DATE jargon.dict dictzip 'jargon.dict' diff -u dict-jargon-4.4.7/debian/rules dict-jargon-4.4.7/debian/rules --- dict-jargon-4.4.7/debian/rules +++ dict-jargon-4.4.7/debian/rules @@ -1,5 +1,7 @@ #!/usr/bin/make -f +BUILD_DATE := $(shell dpkg-parsechangelog --show-field Date) +export BUILD_DATE DICTDIR=$(CURDIR)/debian/dict-jargon/usr/share/dictd include /usr/share/quilt/quilt.make diff -u dict-jargon-4.4.7/debian/changelog dict-jargon-4.4.7/debian/changelog --- dict-jargon-4.4.7/debian/changelog +++ dict-jargon-4.4.7/debian/changelog @@ -1,3 +1,12 @@ +dict-jargon (4.4.7-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace timestamps with the last debian/changelog entry timestamp +before calling dictzip and remove timestamps in call to dictfmt to +make the package build reproducibly. + + -- Dhole dh...@openmailbox.org Fri, 17 Jul 2015 17:56:55 +0200 + dict-jargon (4.4.7-2) unstable; urgency=low * Add dict-server to Depends (Closes: #533717) signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] GSoC 2015 Week 7: Move forward reproducible builds
Hi, This week I have continued working on the reproducible timestamp approach through the exported variable SOURCE_DATE_EPOCH. I submitted a bug for debhelper with last week's patch (I had already commited a fix exporting SOURCE_DATE_EPOCH in our local git repo, and uploaded the package in our local repo): http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791823 I submitted bug to Debian for libxslt to honour SOURCE_DATE_EPOCH: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791815 I also commited the fix to our git repo and puloaded the package our repo to perform tests: https://anonscm.debian.org/cgit/reproducible/libxslt.git/commit/?h=pu/reproducible_buildsid=571bb438df0b11288598c2b05010099d1861a8ed After the upload, test were performed on the packages affected by issues: 1- timestamps_generated_by_docbook_to_man (here some packages where miss tagged) - there where 79 unreproducible packages and 39 became reproducible 2- timestamps_in_manpages_generated_by_docbook_xsl - there where 89 unreproducible packages and 33 became reproducible. NOTE: there are still packages generating docs with libslt not reproducible. This is because the patch for dh to export SOURCE_DATE_EPOCH only works for calls to doc generation under dh. Some packages have the calls to generate docs directly in debian/rules so SOURCE_DATE_EPOCH is not set there. A solution needs to be found for that. I updated some info in the wiki/ExperimentalToolchain regarding packages using the SOURCE_DATE_EPOCH proposal. I tagged some packages affected by locale_in_documentation_generated_by_javadoc. I started working on the issue lc_messages_randomness: https://reproducible.debian.net/issues/unstable/lc_messages_randomness_issue.html I'll continue working on that next week. Best regards, Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#793126: torbutton: please support timestamps from environment
Source: torbutton Version: 1.4.6.3-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that torbutton could not be built reproducibly. The attached patch removes timezone-varying timestamps from the files compressed with zip. Once applied, torbutton can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru torbutton-1.4.6.3/debian/changelog torbutton-1.4.6.3/debian/changelog --- torbutton-1.4.6.3/debian/changelog 2012-10-16 21:22:39.0 +0200 +++ torbutton-1.4.6.3/debian/changelog 2015-07-21 00:35:00.0 +0200 @@ -1,3 +1,11 @@ +torbutton (1.4.6.3-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * add TZ=UTC before zip in makexpi.sh to make the files mtime +invariant to timezone to make the package build reproducibly. + + -- Dhole dh...@openmailbox.org Tue, 21 Jul 2015 00:34:36 +0200 + torbutton (1.4.6.3-1) unstable; urgency=high * New upstream release: diff -Nru torbutton-1.4.6.3/debian/patches/fix-timezone-in-zip torbutton-1.4.6.3/debian/patches/fix-timezone-in-zip --- torbutton-1.4.6.3/debian/patches/fix-timezone-in-zip1970-01-01 01:00:00.0 +0100 +++ torbutton-1.4.6.3/debian/patches/fix-timezone-in-zip2015-07-21 00:36:48.0 +0200 @@ -0,0 +1,18 @@ +Description: Fix timezone before calling zip +Author: Dhole dh...@openmailbox.org + +--- + +--- torbutton-1.4.6.3.orig/makexpi.sh torbutton-1.4.6.3/makexpi.sh +@@ -18,8 +18,8 @@ cd ../.. + # create .xpi + echo -- create $APP_NAME.xpi -- + cd src +-echo zip -X -9r ../pkg/$XPI_NAME ./ -x certDialogsOverride.js -x chrome/* -x *.diff -x *.svn/* +-zip -X -9r ../pkg/$XPI_NAME ./ -x components/certDialogsOverride.js -x *.svn/* -x *.diff -x components/torRefSpoofer.js #-x chrome/* ++echo TZ=UTC zip -X -9r ../pkg/$XPI_NAME ./ -x certDialogsOverride.js -x chrome/* -x *.diff -x *.svn/* ++TZ=UTC zip -X -9r ../pkg/$XPI_NAME ./ -x components/certDialogsOverride.js -x *.svn/* -x *.diff -x components/torRefSpoofer.js #-x chrome/* + #mv ../$APP_NAME.jar ./chrome + #zip -9m ../pkg/$XPI_NAME chrome/$APP_NAME.jar + cd .. diff -Nru torbutton-1.4.6.3/debian/patches/series torbutton-1.4.6.3/debian/patches/series --- torbutton-1.4.6.3/debian/patches/series 2012-10-16 21:22:39.0 +0200 +++ torbutton-1.4.6.3/debian/patches/series 2015-07-21 00:36:30.0 +0200 @@ -1,3 +1,4 @@ localhost-proxy.patch restore-status-panel-on-ff4.patch disable-locked-mode.patch +fix-timezone-in-zip signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#793127: pdf.js: please support timestamps from environment
Source: pdf.js Version: 1.1.215+dfsg-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that pdf.js could not be built reproducibly. The attached patch removes timezone-varying timestamps from the files compressed with zip. Once applied, pdf.js can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru pdf.js-1.1.215+dfsg/debian/changelog pdf.js-1.1.215+dfsg/debian/changelog --- pdf.js-1.1.215+dfsg/debian/changelog2015-06-20 21:59:19.0 +0200 +++ pdf.js-1.1.215+dfsg/debian/changelog2015-07-21 16:12:20.0 +0200 @@ -1,3 +1,11 @@ +pdf.js (1.1.215+dfsg-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set TZ=UTC before calls to zip in make.js to make package build +reproducibly. + + -- Dhole dh...@openmailbox.org Tue, 21 Jul 2015 16:11:47 +0200 + pdf.js (1.1.215+dfsg-1) unstable; urgency=medium * Update upstream changelog diff -Nru pdf.js-1.1.215+dfsg/debian/patches/fix-timezone-in-zip pdf.js-1.1.215+dfsg/debian/patches/fix-timezone-in-zip --- pdf.js-1.1.215+dfsg/debian/patches/fix-timezone-in-zip 1970-01-01 01:00:00.0 +0100 +++ pdf.js-1.1.215+dfsg/debian/patches/fix-timezone-in-zip 2015-07-21 16:13:08.0 +0200 @@ -0,0 +1,23 @@ +Description: Fix timezone in zip calls + . + pdf.js (1.1.215+dfsg-1.1) UNRELEASED; urgency=medium + . + * Non-maintainer upload. + * Set TZ=UTC before calls to zip in make.js to make package build + reproducibly. +Author: Dhole dh...@openmailbox.org + +--- + +--- pdf.js-1.1.215+dfsg.orig/make.js pdf.js-1.1.215+dfsg/make.js +@@ -831,6 +831,9 @@ target.firefox = function() { + sed('-i', /.*PDFJS_SUPPORTED_LOCALES.*\n/, chromeManifest, + FIREFOX_BUILD_DIR + '/chrome.manifest'); + ++ // Set timezone to UTC before calling zip to get reproducible results. ++ process.env.TZ = 'UTC'; ++ + // Create the xpi + cd(FIREFOX_BUILD_DIR); + exec('zip -r ' + FIREFOX_EXTENSION_NAME + ' ' + diff -Nru pdf.js-1.1.215+dfsg/debian/patches/series pdf.js-1.1.215+dfsg/debian/patches/series --- pdf.js-1.1.215+dfsg/debian/patches/series 2015-06-20 21:24:40.0 +0200 +++ pdf.js-1.1.215+dfsg/debian/patches/series 2015-07-21 16:12:43.0 +0200 @@ -2,3 +2,4 @@ 0002-Fix-build-versions-in-generated-file.patch 0003-Add-adobe-CMaps.patch 0012-Revert-Remove-ShellJS-copy-and-use-the-NPM-version.patch +fix-timezone-in-zip signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [PATCH] Allow embedded timestamps by C/C++ macros to be set externally (2)
On 11/16/2015 02:05 PM, Bernd Schmidt wrote: > On 11/15/2015 11:14 PM, Dhole wrote: >> gcc/c-family/ChangeLog: >> >> 2015-10-10 Eduard Sanou<dh...@openmailbox.org> > > I can't find a previous change from you in the sources, so the first > question would be whether you've gone through the copyright assignment > process. I haven't gone through the copyright assignment process. Nevertheless Matthias Klose (co-author of this patch) has. In any case, if required, let me know how to proceed to obtain the relevant forms so that I can file the copyright assignment. Best regards, Dhole ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH] Allow embedded timestamps by C/C++ macros to be set externally (2)
Hi! A while back I submitted a patch to the gcc-patches mailing list to allow the embedded timestamps by C/C++ macros to be set externally [0]. The attached patch addresses a comment from Joseph Myers : move the getenv calls into the gcc/ directory; and it also provides better organization and style following the advice and comments of the current Debian gcc package maintainer Matthias Klose (I'm sending the patch with him as co-author). As a reminder for the motivation behind this patch, we are working on the reproducible builds project which aims to provide users with a way to reproduce bit-for-bit identical binary packages from the source and build environment. The project involves Debian as well as several other free software projects. See <https://reproducible-builds.org/> for more information. Quoting from the original email: > In order to do this, we need to make the build processes deterministic. > As you can imagine, gcc is quite involved in producing Debian packages. > One issue we encounter in many packages that fail to build reproducibly > is the use of the __DATE__, __TIME__ C macros [1], right now we have 456 > affected packages that would need patching (either removing the macros, > or passing a known date externally). > A solution for toolchain packages that embed timestamps during the build > process has been proposed for anyone interested and it consists of the > following: > The build environment can export an environment variable called > SOURCE_DATE_EPOCH with a known timestamp in Unix epoch format (In our > case, we use the last date of the package's debian changelog). The > toolchain package running during the build can check if the exported > variable is set and if so, instead of embedding the local date/time, > embed the date/time from SOURCE_DATE_EPOCH. The proposal to use SOURCE_DATE_EPOCH has now been gathered in a more formal specification [2], so that any project can adhere to it to achieve reproducible builds when dealing with timestamps. > It would be very beneficial to our project (and other free software > projects working on reproducible builds) if gcc supported this feature. I'm attaching a patch for gcc-5.2.0 that enables this feature: it modifies the behavior of the macros __DATE__ and __TIME__ when SOURCE_DATE_EPOCH is exported. Any comments, suggestions or other ideas to improve this patch are mostly welcomed. I'm willing to extend the documentation if the patch feels appropriate. Thanks for your attention! PD: Implementation details: The error output in gcc/c-family/c-common.c (get_source_date_epoch) is handled by an fprintf() to stderr followed by an exit (EXIT_FAILURE). I am not sure this is the right approach for error handling, as I have found many usages of the error() function in the code. If implemented with error(), the output looks like this: """ $ SOURCE_DATE_EPOCH=123a123 g++ test_cpp.cpp -o test_cpp In file included from :0:0: /usr/include/stdc-predef.h:1:0: error: Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: a123 /* Copyright (C) 1991-2014 Free Software Foundation, Inc. ^ """ For this reason I used fprintf(stderr, "error message") to report the errors. [0] https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html [1] https://wiki.debian.org/ReproducibleBuilds/TimestampsFromCPPMacros [2] https://reproducible-builds.org/specs/source-date-epoch/ Best regards, Dhole gcc/c-family/ChangeLog: 2015-10-10 Eduard Sanou <dh...@openmailbox.org> Matthias Klose <d...@debian.org> * gcc/c-family/c-common.c (get_source_date_epoch): New function, gets the environment variable SOURCE_DATE_EPOCH and parses it as long long with error handling. * gcc/c-family/c-common.h (get_source_date_epoch): Prototype. * gcc/c-family/c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch. libcpp/ChangeLog: 2015-10-10 Eduard Sanou <dh...@openmailbox.org> Matthias Klose <d...@debian.org> * libcpp/include/cpplib.h (cpp_init_source_date_epoch): Prototype. * libcpp/init.c (cpp_init_source_date_epoch): New function. * libcpp/internal.h: Added source_date_epoch variable to struct cpp_reader to store a reproducible date. * libcpp/macro.c (_cpp_builtin_macro_text): Set pfile->date timestamp from pfile->source_date_epoch instead of localtime if source_date_epoch is set, to be used for __DATE__ and __TIME__ macros to help reproducible builds. diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 7fe7fa6..f795871 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -12318,4 +12318,49 @@ pointer_to_zero_sized_aggr_p (tree t) return (TYPE_SIZE (t) && integer_zerop (TYPE_SIZE (t))); } +/* Read SOURCE_DATE_EPOCH from environment to have a det
Re: [Reproducible-builds] Bug#791815: libxslt: please support timestamps from environment
control: forwarded -1 https://bugzilla.gnome.org/show_bug.cgi?id=758148 I have just forwarded patch upstream. Cheers, Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#791815: libxslt: please support timestamps from environment
Source: libxslt Version: 1.1.28-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that libxslt embeds timestamps when generating documentation. We have a proposal for using a deterministic timestamp [2] (based on the latest debian/changelog entry) which is contained in the environment variable SOURCE_DATE_EPOCH (currently exported by debhelper in our experimental framework). The attached patch proposes a way to use this variable to get reproducible timestamps when generating docs, if the variable has been set (if not, it falls back to the old behavior). [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal Regards, -- Dhole diff -Nru libxslt-1.1.28/debian/changelog libxslt-1.1.28/debian/changelog --- libxslt-1.1.28/debian/changelog 2015-07-01 12:00:21.0 +0200 +++ libxslt-1.1.28/debian/changelog 2015-07-08 15:19:03.0 +0200 @@ -1,9 +1,14 @@ -libxslt (1.1.28-2.0~reproducible3) UNRELEASED; urgency=low +libxslt (1.1.28-2.0~reproducible4) UNRELEASED; urgency=low + [ Jérémy Bobbio ] * Add a patch from Daniel Veillard to make generate-id() provide stable IDs to make its output reproducible. - -- Jérémy Bobbio lu...@debian.org Wed, 01 Jul 2015 11:49:58 +0200 + [ Eduard Sanou ] + * Add support for reproducible builds by using $SOURCE_DATE_EPOCH as the +date when processing docs (when using the var $date). + + -- Dhole dh...@openmailbox.org Wed, 08 Jul 2015 15:05:07 +0200 libxslt (1.1.28-2) unstable; urgency=low diff -Nru libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH --- libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH 1970-01-01 01:00:00.0 +0100 +++ libxslt-1.1.28/debian/patches/0010-Replace-timestamp-with-SOURCE_DATE_EPOCH 2015-07-08 15:18:26.0 +0200 @@ -0,0 +1,65 @@ +Description: Replace date timestamp by SOURCE_DATE_EPOCH env var +Author: Dhole dh...@openmailbox.org + +--- + +--- libxslt-1.1.28.orig/libexslt/date.c libxslt-1.1.28/libexslt/date.c +@@ -46,6 +46,7 @@ + #include exslt.h + + #include string.h ++#include errno.h + + #ifdef HAVE_MATH_H + #include math.h +@@ -747,21 +748,46 @@ static exsltDateValPtr + exsltDateCurrent (void) + { + struct tm localTm, gmTm; ++struct tm *tb = NULL; + time_t secs; + int local_s, gm_s; + exsltDateValPtr ret; ++char *source_date_epoch; + + ret = exsltDateCreateDate(XS_DATETIME); + if (ret == NULL) + return NULL; + +-/* get current time */ + secs= time(NULL); ++/* ++ * Allow the date and time to be set externally by an exported ++ * environment variable to enable reproducible builds. ++ */ ++source_date_epoch = getenv(SOURCE_DATE_EPOCH); ++if (source_date_epoch) { ++ errno = 0; ++ secs = (time_t) strtol (source_date_epoch, NULL, 10); ++ if (errno == 0) { ++ tb = gmtime(secs); ++ if (tb == NULL) { ++ /* SOURCE_DATE_EPOCH is not a valid date */ ++ return NULL; ++ } else { ++ localTm = *tb; ++ } ++ } else { ++ /* SOURCE_DATE_EPOCH is not a valid number */ ++ return NULL; ++ } ++} else { ++ /* get current time */ + #if HAVE_LOCALTIME_R +-localtime_r(secs, localTm); ++ localtime_r(secs, localTm); + #else +-localTm = *localtime(secs); ++ localTm = *localtime(secs); + #endif ++} ++ + + /* get real year, not years since 1900 */ + ret-value.date.year = localTm.tm_year + 1900; diff -Nru libxslt-1.1.28/debian/patches/series libxslt-1.1.28/debian/patches/series --- libxslt-1.1.28/debian/patches/series2015-07-01 12:00:21.0 +0200 +++ libxslt-1.1.28/debian/patches/series2015-07-08 15:13:19.0 +0200 @@ -7,3 +7,4 @@ 0007-EXSLT-function-str-replace-is-broken-as-is.patch 0008-Fix-quoting-of-xlocale-test-program-in-configure.in.patch 0009-Make-generate-id-deterministic.patch +0010-Replace-timestamp-with-SOURCE_DATE_EPOCH signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] debhelper: set SOURCE_DATE_EPOCH env var for reproducible builds
Source: debhelper Version: 9.20150628 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps Hi! While working on the “reproducible builds” effort [1] we have a proposal of using deterministic timestamps [2] (based on the latest debian/changelog entry) which is to be set in the environment variable SOURCE_DATE_EPOCH. The attached patch makes debhelper export the SOURCE_DATE_EPOCH env variable during the execution with the latest debian/changelog entry timestamp, so that packages running during the build process can read it and replace localtime date/times calls with the exported timestamp in order to have reproducible builds. Also, in order to help reproducible builds, a fixed timezone is exported (TZ=UTC). [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal Regards, -- Dhole diff -Nru debhelper-9.20150628/debian/changelog debhelper-9.20150628+nmu1/debian/changelog --- debhelper-9.20150628/debian/changelog 2015-06-28 13:56:15.0 +0200 +++ debhelper-9.20150628+nmu1/debian/changelog 2015-07-08 19:35:19.0 +0200 @@ -1,3 +1,12 @@ +debhelper (9.20150628+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * export the env var SOURCE_DATE_EPOCH with the last debian/changelog +timestamp. + * set env TZ=UTC + + -- Dhole dh...@openmailbox.org Wed, 08 Jul 2015 19:34:46 +0200 + debhelper (9.20150628) unstable; urgency=medium * Upload to unstable with ddebs support disabled by default. diff -Nru debhelper-9.20150628/Debian/Debhelper/Dh_Lib.pm debhelper-9.20150628+nmu1/Debian/Debhelper/Dh_Lib.pm --- debhelper-9.20150628/Debian/Debhelper/Dh_Lib.pm 2015-06-28 13:24:32.0 +0200 +++ debhelper-9.20150628+nmu1/Debian/Debhelper/Dh_Lib.pm2015-07-08 19:34:25.0 +0200 @@ -1144,12 +1144,44 @@ } } +# Read latest debian/changelog timestamp and export the environment variable +# SOURCE_DATE_EPOCH with its value, so that any package can read it and replace +# calls to localtime (or other undeterministic timestamps) with the exported +# timestamp to get reproducible builds. +sub set_source_date_epoch { + eval use Dpkg::Changelog::Debian; + if ($@) { + warning unable to set SOURCE_DATE_EPOCH: $@; + return; + } + eval use Time::Piece; + if ($@) { + warning unable to set SOURCE_DATE_EPOCH: $@; + return; + } + + my $changelog = Dpkg::Changelog::Debian-new(); + $changelog-load(debian/changelog); + + my $tt = @{$changelog}[0]-get_timestamp(); + $tt =~ s/\s*\([^\)]+\)\s*$//; # Remove the optional timezone codename + my $timestamp = Time::Piece-strptime($tt, %a, %d %b %Y %T %z); + + $ENV{SOURCE_DATE_EPOCH} = $timestamp-epoch(); +} + # Sets environment variables from dpkg-buildflags. Avoids changing # any existing environment variables. sub set_buildflags { - return if $ENV{DH_INTERNAL_BUILDFLAGS} || compat(8); + return if $ENV{DH_INTERNAL_BUILDFLAGS}; $ENV{DH_INTERNAL_BUILDFLAGS}=1; + set_source_date_epoch(); + # Set env timezone to UTC to help packages build reproducibly + $ENV{TZ} = UTC; + + return if compat(8); + eval use Dpkg::BuildFlags; if ($@) { warning unable to load build flags: $@; signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#791815: libxslt: please support timestamps from environment
On 07/08/2015 06:44 PM, Dhole wrote: Source: libxslt Version: 1.1.28-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain timestamps Hi! While working on the “reproducible builds” effort [1], we have noticed that libxslt embeds timestamps when generating documentation. We have a proposal for using a deterministic timestamp [2] (based on the latest debian/changelog entry) which is contained in the environment variable SOURCE_DATE_EPOCH (currently exported by debhelper in our experimental framework). The attached patch proposes a way to use this variable to get reproducible timestamps when generating docs, if the variable has been set (if not, it falls back to the old behavior). [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal The submitted bug for the mentioned feature in debhelper can be found at: https://bugs.debian.org/791823 Regards, -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#792687: gettext: please support timestamps from environment
On 09/01/2015 12:36 AM, Santiago Vila wrote: > On Tue, Sep 01, 2015 at 12:01:45AM +0200, Chris Lamb wrote: >>> As a proof of concept, I've fixed "pppconfig" the way I think this >>> kind of bugs should be fixed: By not running "po/update.sh" each and >>> every time. >> >> https://gist.github.com/be5b243cfcaaa27819f0 is the diff for anyone >> interested > > Well, that includes some cleanup I also did because the package was > orphaned (like removing "source and diff are obsolete" warning message > which is 15 years old at least). > > The size of "not running po/update.sh" is really a single line removal. > >>> Would be possible to drop the forked gettext and try to fix this in >>> the affected packages? >> >> Seems reasonable, especially as it's only ~40 packages. Would you guess >> most of them are fixable under debian/ or require upstream patches? > > I would bet that most of them are fixable by changing debian/* only > (but I really don't know). > As I understand it, the changes in debian/* would be to disable the call to po/update.sh. But then there's also changes needed inside po/ because the maintainer would need to run update.sh (which would modify files in po/) before packaging right? I don't find it clear if the update.sh should be run by the Debian maintainer or by upstream. > It's funny that the current gettext fork in alioth did not seem to > help about 8 of them: > > https://reproducible.debian.net/issues/unstable/lc_messages_randomness_issue.html > > (There are 12 unreproducible, but only 8 suffer currently from this issue) > The reason why 8 of them are not reproducible even with the patched gettext is because the calls to xgettext in those packages don't happen under dh, which is one of the current patched toolchains that export SOURCE_DATE_EPOCH. Since that variable is not exported, xgettext embeds the current date. But that happens to other packages as well with other issues (where the toolchain has already been patched to honour SOURCE_DATE_EPOCH). -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#792687: gettext: please support timestamps from environment
On 08/31/2015 09:32 PM, Santiago Vila wrote: > Would be possible to drop the forked gettext and try to fix this in > the affected packages? Hi Santiago, I saw that you have been working on the packages affected by the POT creation date timestamps in gettext mo files today so maybe you know this already, but just to be sure: The patched gettext has been dropped from our reproducible APT repository, and all the affected packages by the issue different_pot_creation_date_in_gettext_mo_files (formerly lc_messages_randomness) have been rebuilt in our jenkins setup, using the gettext version from Debian unstable: https://reproducible.debian.net/issues/unstable/different_pot_creation_date_in_gettext_mo_files_issue.html Regards, -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#798557: libapache-dbi-perl: please make the build reproducible
Source: libapache-dbi-perl Version: 1.12-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that libapache-dbi-perl could not be built reproducibly. The attached patch sets the embedded date in the man pages generated by podman to the latest debian/changelog entry timestamp instead of local date. Once applied, libapache-dbi-perl can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru libapache-dbi-perl-1.12/debian/changelog libapache-dbi-perl-1.12/debian/changelog --- libapache-dbi-perl-1.12/debian/changelog2013-06-12 18:17:37.0 +0200 +++ libapache-dbi-perl-1.12/debian/changelog2015-09-10 00:24:04.0 +0200 @@ -1,3 +1,11 @@ +libapache-dbi-perl (1.12-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace timestamp in man pages to latest debian/changelog entry timestamp +to make the package build reproducibly. + + -- Eduard Sanou <dh...@openmailbox.org> Thu, 10 Sep 2015 00:23:31 +0200 + libapache-dbi-perl (1.12-1) unstable; urgency=low [ Salvatore Bonaccorso ] diff -Nru libapache-dbi-perl-1.12/debian/rules libapache-dbi-perl-1.12/debian/rules --- libapache-dbi-perl-1.12/debian/rules2013-06-12 18:02:44.0 +0200 +++ libapache-dbi-perl-1.12/debian/rules2015-09-10 00:33:54.0 +0200 @@ -1,3 +1,7 @@ #!/usr/bin/make -f + +SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog -SDate)" +%s) +export POD_MAN_DATE = $(shell date -u +"%Y-%m-%d" --date="@$(SOURCE_DATE_EPOCH)") + %: dh $@ signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#798557: libapache-dbi-perl: please make the build reproducible
On 09/10/2015 06:10 PM, Niko Tyni wrote: > This is a toolchain issue that potentially affects hundreds of packages > and should IMO be fixed centrally, at least for those packages that use > these debhelper short form dh rules. > After thinking about it, I agree too; a toolchain fix would be more appropriate for this podman issue. What do you think would be a better solution? - Make debhelper export POD_MAN_DATE - Patch podman to honour SOURCE_DATE_EPOCH (with this option, podman would replace embedded timestamp either by the env var POD_MAN_DATE, or by SOURCE_DATE_EPOCH. The later would need formatting the timestamp to "%Y-%m-%d") > The reason only a handful show up in the current reproducible.debian.net > CI setup is that it only triggers when the two builds happen on different > sides of midnight UTC. Once we start testing builds on different dates, > I expect the number of those to explode. > The difference that shows up in the affected packages in reproducible.debian.net show a difference in the day within the timestamp, because we use two different timezones between builds that have a 26h difference. That makes the embedded timestamp to have a different day whenever the package is built. I don't understand why when we start testing builds on different dates you expect this to explode. Am I missing anything? Maybe you are referring to timestamps in general, and not only to this podman embedding timestamps issue? (in which case, I'd agree that the number of issues like this will explode) Regards, -- Dhole signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#828790: debiandoc-sgml-doc: please make the build reproducible
Source: debiandoc-sgml-doc Version: 1.1.24+nm Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that debiandoc-sgml-doc could not be built reproducibly. When generating the documentation files, a timestamp of the last changelog entry is embedded in the local timezone. The attached patch fixes this setting the timestamp to UTC. Once applied, debiandoc-sgml-doc can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru debiandoc-sgml-doc-1.1.24/debian/changelog debiandoc-sgml-doc-1.1.24+nmu1/debian/changelog --- debiandoc-sgml-doc-1.1.24/debian/changelog 2015-08-12 18:31:34.0 +0200 +++ debiandoc-sgml-doc-1.1.24+nmu1/debian/changelog 2016-06-27 21:34:23.0 +0200 @@ -1,3 +1,10 @@ +debiandoc-sgml-doc (1.1.24+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set the embedded date to UTC to make it reproducible. + + -- Eduard Sanou <dh...@openmailbox.org> Mon, 27 Jun 2016 21:34:14 +0200 + debiandoc-sgml-doc (1.1.24) unstable; urgency=medium * Reproducible build with the new debiandoc-sgml 1.2.31-1. diff -Nru debiandoc-sgml-doc-1.1.24/debian/rules debiandoc-sgml-doc-1.1.24+nmu1/debian/rules --- debiandoc-sgml-doc-1.1.24/debian/rules 2015-08-12 18:18:25.0 +0200 +++ debiandoc-sgml-doc-1.1.24+nmu1/debian/rules 2016-06-27 21:34:09.0 +0200 @@ -8,7 +8,7 @@ #export DH_VERBOSE=1 # Reproduceble build -DEBIANDOC_DATE ?= $(shell date +'%Y-%m-%d' -d"`dpkg-parsechangelog -SDate`") +DEBIANDOC_DATE ?= $(shell date --utc +'%Y-%m-%d' -d"`dpkg-parsechangelog -SDate`") export DEBIANDOC_DATE ## -- signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#828680: debiandoc-sgml-doc-pt-br: please make the build reproducible
Source: debiandoc-sgml-doc-pt-br Version: 1.1.12+nm Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that debiandoc-sgml-doc-pt-br could not be built reproducibly. When generating the documentation files, a timestamp of the current month and year is embedded. The attached patch fixes this by setting the timestamp to a reproducible value. Once applied, debiandoc-sgml-doc-pt-br can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru debiandoc-sgml-doc-pt-br-1.1.12/debian/changelog debiandoc-sgml-doc-pt-br-1.1.12+nmu1/debian/changelog --- debiandoc-sgml-doc-pt-br-1.1.12/debian/changelog2016-02-03 12:48:25.0 +0100 +++ debiandoc-sgml-doc-pt-br-1.1.12+nmu1/debian/changelog 2016-06-25 20:47:02.0 +0200 @@ -1,3 +1,10 @@ +debiandoc-sgml-doc-pt-br (1.1.12+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace debiandoc timestamp by SOURCE_DATE_EPOCH. + + -- Eduard Sanou <dh...@openmailbox.org> Sat, 25 Jun 2016 20:46:48 +0200 + debiandoc-sgml-doc-pt-br (1.1.12) unstable; urgency=medium * Use onsgml for the migration from sp to opensp. Closes: #812188 diff -Nru debiandoc-sgml-doc-pt-br-1.1.12/debian/rules debiandoc-sgml-doc-pt-br-1.1.12+nmu1/debian/rules --- debiandoc-sgml-doc-pt-br-1.1.12/debian/rules2016-02-02 10:21:32.0 +0100 +++ debiandoc-sgml-doc-pt-br-1.1.12+nmu1/debian/rules 2016-06-26 00:15:08.0 +0200 @@ -7,6 +7,10 @@ ## uncomment this to turn on verbose mode #export DH_VERBOSE=1 +ifdef SOURCE_DATE_EPOCH + export DEBIANDOC_DATE ?= $(shell LC_ALL=pt_BR date -u -d "@$(SOURCE_DATE_EPOCH)" +"%d %B %Y") +endif + ## -- ## Targets signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Ideas about TimestampsFromCPPMacros issue.
On 16-02-11 20:13:25, Ximin Luo wrote: > Juan Picca: > > From the issue page > > (https://wiki.debian.org/ReproducibleBuilds/TimestampsFromCPPMacros) > > i see that the usage of SOURCE_DATE_EPOCH was > > discouraged in the gcc-patches mailing list thread. > > > > Hi Juan, I think that was not discouragement, it was just neutral discussion > about the consequences. > > As I understand the patch is going ahead and will eventually hit GCC 6. They > just needed to find some time that's suitable for their release cycle. > > https://gcc.gnu.org/ml/gcc-patches/2015-12/msg01590.html > > X Exactly! As Ximin says, the thread you included was from june 2015. The message you show was not really a discouragement but a suggestion, so it must be taken as any other suggestion, and I believe that the message was not from a gcc maintainer. The thread that Ximin included is the most recent discussion, see the beginning here: https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01890.html. Basically I took the original patch and modified following the suggestions from the gcc contributors in the original thread plus review by the Debian gcc maintainer Matthias Klose (you can follow the thread to learn more). Eventually the gcc people seemed to have no further complain about the patch; I even signed the copyright assignment. So the last message was that they are now at the stage of fixing bugs in GCC 5, and they asked me to send the patch again when the new feature stage for GCC 6 starts, which should be around April 2016 :) -- Dhole signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#815818: pcmanfm-qt: please make the build reproducible
Source: pcmanfm-qt Version: 0.10.1-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that pcmanfm-qt could not be built reproducibly. When processing translation files and using a non-UTF8 locale, grep misdetects them as binary files and embeds the line: "Binary file (standard input) matches" The attached patch fixes this by telling grep to treat the input as text. Once applied, pcmanfm-qt can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru pcmanfm-qt-0.10.1/debian/changelog pcmanfm-qt-0.10.1/debian/changelog --- pcmanfm-qt-0.10.1/debian/changelog 2016-02-07 15:28:09.0 +0100 +++ pcmanfm-qt-0.10.1/debian/changelog 2016-02-23 11:31:01.0 +0100 @@ -1,3 +1,10 @@ +pcmanfm-qt (0.10.1-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix misdetection as binary input when LC_ALL=C + + -- Eduard Sanou <dh...@openmailbox.org> Tue, 23 Feb 2016 11:30:33 +0100 + pcmanfm-qt (0.10.1-1) unstable; urgency=medium * New upstream release. diff -Nru pcmanfm-qt-0.10.1/debian/patches/series pcmanfm-qt-0.10.1/debian/patches/series --- pcmanfm-qt-0.10.1/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ pcmanfm-qt-0.10.1/debian/patches/series 2016-02-23 11:31:21.0 +0100 @@ -0,0 +1 @@ +unicode-grep.patch diff -Nru pcmanfm-qt-0.10.1/debian/patches/unicode-grep.patch pcmanfm-qt-0.10.1/debian/patches/unicode-grep.patch --- pcmanfm-qt-0.10.1/debian/patches/unicode-grep.patch 1970-01-01 01:00:00.0 +0100 +++ pcmanfm-qt-0.10.1/debian/patches/unicode-grep.patch 2016-02-23 11:59:06.0 +0100 @@ -0,0 +1,23 @@ +Description: Fix misdetection as binary input when LC_ALL=C + +Index: pcmanfm-qt-0.10.1/cmake/LXQtTranslateDesktop.cmake +=== +--- pcmanfm-qt-0.10.1.orig/cmake/LXQtTranslateDesktop.cmake pcmanfm-qt-0.10.1/cmake/LXQtTranslateDesktop.cmake +@@ -71,13 +71,13 @@ function(lxqt_translate_desktop _RESULT) + set(_pattern "'\\[.*]\\s*='") + if (_translations) + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} +-COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -h ${_pattern} ${_translations} >> ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + else() + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + endif() signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#815901: compton-conf: please make the build reproducible
Source: compton-conf Version: 0.1.0+20151226-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that compton-conf could not be built reproducibly. When processing translation files and using a non-UTF8 locale, grep misdetects them as binary files and embeds the line: "Binary file (standard input) matches" The attached patch fixes this by telling grep to treat the input as text.Once applied, compton-conf can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru compton-conf-0.1.0+20151226/debian/changelog compton-conf-0.1.0+20151226/debian/changelog --- compton-conf-0.1.0+20151226/debian/changelog2015-12-26 13:25:40.0 +0100 +++ compton-conf-0.1.0+20151226/debian/changelog2016-02-25 11:11:54.0 +0100 @@ -1,3 +1,10 @@ +compton-conf (0.1.0+20151226-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix misdetection as binary input in grep when LC_ALL=C + + -- Eduard Sanou <dh...@openmailbox.org> Thu, 25 Feb 2016 11:11:48 +0100 + compton-conf (0.1.0+20151226-1) unstable; urgency=medium * Cherry-picking upstream version 0.1.0+20151226. diff -Nru compton-conf-0.1.0+20151226/debian/patches/series compton-conf-0.1.0+20151226/debian/patches/series --- compton-conf-0.1.0+20151226/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ compton-conf-0.1.0+20151226/debian/patches/series 2016-02-25 11:12:05.0 +0100 @@ -0,0 +1 @@ +unicode-grep.patch diff -Nru compton-conf-0.1.0+20151226/debian/patches/unicode-grep.patch compton-conf-0.1.0+20151226/debian/patches/unicode-grep.patch --- compton-conf-0.1.0+20151226/debian/patches/unicode-grep.patch 1970-01-01 01:00:00.0 +0100 +++ compton-conf-0.1.0+20151226/debian/patches/unicode-grep.patch 2016-02-25 11:12:16.0 +0100 @@ -0,0 +1,22 @@ +Author: Eduard Sanou <dh...@openmailbox.org> +Description: Fix misdetection as binary input when LC_ALL=C + +--- compton-conf-0.1.0+20151226.orig/cmake/LXQtTranslateDesktop.cmake compton-conf-0.1.0+20151226/cmake/LXQtTranslateDesktop.cmake +@@ -71,13 +71,13 @@ function(lxqt_translate_desktop _RESULT) + set(_pattern "'\\[.*]\\s*='") + if (_translations) + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} +-COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -h ${_pattern} ${_translations} >> ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + else() + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + endif() signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#815899: screengrab: please make the build reproducible
Source: screengrab Version: 1.95+20160128-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that screengrab could not be built reproducibly. When processing translation files and using a non-UTF8 locale, grep misdetects them as binary files and embeds the line: "Binary file (standard input) matches" The attached patch fixes this by telling grep to treat the input as text. Once applied, screengrab can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru screengrab-1.95+20160128/debian/changelog screengrab-1.95+20160128/debian/changelog --- screengrab-1.95+20160128/debian/changelog 2016-01-30 03:48:56.0 +0100 +++ screengrab-1.95+20160128/debian/changelog 2016-02-25 00:02:39.0 +0100 @@ -1,3 +1,10 @@ +screengrab (1.95+20160128-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix misdetection as binary input in grep when LC_ALL=C + + -- Eduard Sanou <dh...@openmailbox.org> Thu, 25 Feb 2016 00:02:00 +0100 + screengrab (1.95+20160128-1) unstable; urgency=medium * Cherry-picking upstream version 1.95+20160128. diff -Nru screengrab-1.95+20160128/debian/patches/series screengrab-1.95+20160128/debian/patches/series --- screengrab-1.95+20160128/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ screengrab-1.95+20160128/debian/patches/series 2016-02-25 00:02:57.0 +0100 @@ -0,0 +1 @@ +unicode-grep.patch diff -Nru screengrab-1.95+20160128/debian/patches/unicode-grep.patch screengrab-1.95+20160128/debian/patches/unicode-grep.patch --- screengrab-1.95+20160128/debian/patches/unicode-grep.patch 1970-01-01 01:00:00.0 +0100 +++ screengrab-1.95+20160128/debian/patches/unicode-grep.patch 2016-02-25 00:04:19.0 +0100 @@ -0,0 +1,22 @@ +Author: Eduard Sanou <dh...@openmailbox.org> +Description: Fix misdetection as binary input when LC_ALL=C + +--- screengrab-1.95+20160128.orig/cmake/LXQtTranslateDesktop.cmake screengrab-1.95+20160128/cmake/LXQtTranslateDesktop.cmake +@@ -71,13 +71,13 @@ function(lxqt_translate_desktop _RESULT) + set(_pattern "'\\[.*]\\s*='") + if (_translations) + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} +-COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -h ${_pattern} ${_translations} >> ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + else() + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + endif() signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#815898: lximage-qt: please make the build reproducible
Source: lximage-qt Version: 0.4.0+20160108-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that lximage-qt could not be built reproducibly. When processing translation files and using a non-UTF8 locale, grep misdetects them as binary files and embeds the line: "Binary file (standard input) matches" The attached patch fixes this by telling grep to treat the input as text.Once applied, lximage-qt can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru lximage-qt-0.4.0+20160108/debian/changelog lximage-qt-0.4.0+20160108/debian/changelog --- lximage-qt-0.4.0+20160108/debian/changelog 2016-02-07 22:55:45.0 +0100 +++ lximage-qt-0.4.0+20160108/debian/changelog 2016-02-24 23:43:03.0 +0100 @@ -1,3 +1,10 @@ +lximage-qt (0.4.0+20160108-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix misdetection as binary input in grep when LC_ALL=C + + -- Eduard Sanou <dh...@openmailbox.org> Wed, 24 Feb 2016 23:42:25 +0100 + lximage-qt (0.4.0+20160108-1) unstable; urgency=medium * Cherry-picked new upstream version 0.4.0+20160108. diff -Nru lximage-qt-0.4.0+20160108/debian/patches/series lximage-qt-0.4.0+20160108/debian/patches/series --- lximage-qt-0.4.0+20160108/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ lximage-qt-0.4.0+20160108/debian/patches/series 2016-02-24 23:43:31.0 +0100 @@ -0,0 +1 @@ +unicode-grep.patch diff -Nru lximage-qt-0.4.0+20160108/debian/patches/unicode-grep.patch lximage-qt-0.4.0+20160108/debian/patches/unicode-grep.patch --- lximage-qt-0.4.0+20160108/debian/patches/unicode-grep.patch 1970-01-01 01:00:00.0 +0100 +++ lximage-qt-0.4.0+20160108/debian/patches/unicode-grep.patch 2016-02-24 23:44:58.0 +0100 @@ -0,0 +1,22 @@ +Author: Eduard Sanou <dh...@openmailbox.org> +Description: Fix misdetection as binary input when LC_ALL=C + +--- lximage-qt-0.4.0+20160108.orig/cmake/LXQtTranslateDesktop.cmake lximage-qt-0.4.0+20160108/cmake/LXQtTranslateDesktop.cmake +@@ -71,13 +71,13 @@ function(lxqt_translate_desktop _RESULT) + set(_pattern "'\\[.*]\\s*='") + if (_translations) + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} +-COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -h ${_pattern} ${_translations} >> ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + else() + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + endif() signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#815900: obconf-qt: please make the build reproducible
Source: obconf-qt Version: 0.9.0+20151227-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that obconf-qt could not be built reproducibly. When processing translation files and using a non-UTF8 locale, grep misdetects them as binary files and embeds the line: "Binary file (standard input) matches" The attached patch fixes this by telling grep to treat the input as text.Once applied, obconf-qt can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru obconf-qt-0.9.0+20151227/debian/changelog obconf-qt-0.9.0+20151227/debian/changelog --- obconf-qt-0.9.0+20151227/debian/changelog 2015-12-27 01:16:30.0 +0100 +++ obconf-qt-0.9.0+20151227/debian/changelog 2016-02-25 00:19:06.0 +0100 @@ -1,3 +1,10 @@ +obconf-qt (0.9.0+20151227-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix misdetection as binary input in grep when LC_ALL=C + + -- Eduard Sanou <dh...@openmailbox.org> Thu, 25 Feb 2016 00:19:00 +0100 + obconf-qt (0.9.0+20151227-1) unstable; urgency=medium * Cherry-picked upstream version 0.9.0+20151227. diff -Nru obconf-qt-0.9.0+20151227/debian/patches/series obconf-qt-0.9.0+20151227/debian/patches/series --- obconf-qt-0.9.0+20151227/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ obconf-qt-0.9.0+20151227/debian/patches/series 2016-02-25 00:19:24.0 +0100 @@ -0,0 +1 @@ +unicode-grep.patch diff -Nru obconf-qt-0.9.0+20151227/debian/patches/unicode-grep.patch obconf-qt-0.9.0+20151227/debian/patches/unicode-grep.patch --- obconf-qt-0.9.0+20151227/debian/patches/unicode-grep.patch 1970-01-01 01:00:00.0 +0100 +++ obconf-qt-0.9.0+20151227/debian/patches/unicode-grep.patch 2016-02-25 00:19:34.0 +0100 @@ -0,0 +1,22 @@ +Author: Eduard Sanou <dh...@openmailbox.org> +Description: Fix misdetection as binary input when LC_ALL=C + +--- obconf-qt-0.9.0+20151227.orig/cmake/LXQtTranslateDesktop.cmake obconf-qt-0.9.0+20151227/cmake/LXQtTranslateDesktop.cmake +@@ -71,13 +71,13 @@ function(lxqt_translate_desktop _RESULT) + set(_pattern "'\\[.*]\\s*='") + if (_translations) + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} +-COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -h ${_pattern} ${_translations} >> ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + else() + add_custom_command(OUTPUT ${_outFile} +-COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} ++COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} + COMMENT "Generating ${_fileName}${_fileExt}" + ) + endif() signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#815082: arachne-pnr: please make the build reproducible
Source: arachne-pnr Version: 0~20150927gitefdb026-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that arachne-pnr could not be built reproducibly. The attached patch sets the embedded date in the man pages generated by txt2man to UTC with LC_ALL=C to normalize the locale. Once applied, arachne-pnr can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru arachne-pnr-0~20150927gitefdb026/debian/changelog arachne-pnr-0~20150927gitefdb026/debian/changelog --- arachne-pnr-0~20150927gitefdb026/debian/changelog 2016-02-06 11:33:55.0 +0100 +++ arachne-pnr-0~20150927gitefdb026/debian/changelog 2016-02-18 01:38:23.0 +0100 @@ -1,3 +1,10 @@ +arachne-pnr (0~20150927gitefdb026-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Set changelog date to UTC with LC_ALL=C to make man pages reproducible. + + -- Eduard Sanou <dh...@openmailbox.org> Thu, 18 Feb 2016 01:38:01 +0100 + arachne-pnr (0~20150927gitefdb026-1) unstable; urgency=low * Initial release (Closes: #801230) diff -Nru arachne-pnr-0~20150927gitefdb026/debian/rules arachne-pnr-0~20150927gitefdb026/debian/rules --- arachne-pnr-0~20150927gitefdb026/debian/rules 2016-02-06 11:33:55.0 +0100 +++ arachne-pnr-0~20150927gitefdb026/debian/rules 2016-02-18 15:14:07.0 +0100 @@ -5,7 +5,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all -CHANGELOG_DATE ?= $(shell date -d "`dpkg-parsechangelog --show-field Date`" +"%d %B %Y") +CHANGELOG_DATE ?= $(shell LC_ALL=C date -u -d "`dpkg-parsechangelog --show-field Date`" +"%d %B %Y") %: dh $@ signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#820745: gap: please make the build reproducible
Source: gap Version: 4r7p9-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that gap embeds timestamps of the current time in htm files generated by etc/convert.pl. This makes packages that use etc/convert.pl generate unreproducible documentation files. The attached patch fixes this by making convert.pl embed the date taken from the SOURCE_DATE_EPOCH env var if this env var is set, or the localtime otherwise. Once applied, convert.pl can generate reproducible htm files in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru gap-4r7p9/debian/changelog gap-4r7p9/debian/changelog --- gap-4r7p9/debian/changelog 2015-12-07 20:06:14.0 +0100 +++ gap-4r7p9/debian/changelog 2016-04-10 18:36:58.0 +0200 @@ -1,3 +1,10 @@ +gap (4r7p9-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Honour SOURCE_DATE_EPOCH when embedding timestamps in convert.pl + + -- Eduard Sanou <dh...@openmailbox.org> Sun, 10 Apr 2016 18:36:37 +0200 + gap (4r7p9-1) unstable; urgency=low * New upstream release diff -Nru gap-4r7p9/debian/patches/honour-SOURCE_DATE_EPOCH-in-convert.pl.patch gap-4r7p9/debian/patches/honour-SOURCE_DATE_EPOCH-in-convert.pl.patch --- gap-4r7p9/debian/patches/honour-SOURCE_DATE_EPOCH-in-convert.pl.patch 1970-01-01 01:00:00.0 +0100 +++ gap-4r7p9/debian/patches/honour-SOURCE_DATE_EPOCH-in-convert.pl.patch 2016-04-11 23:19:31.0 +0200 @@ -0,0 +1,57 @@ +Description: Honour SOURCE_DATE_EPOCH in convert.pl + Honour SOURCE_DATE_EPOCH in convert.pl when embedding timestamps in the + html files. +Author: Eduard Sanou <dh...@openmailbox.org> + +Index: gap-4r7p9/etc/convert.pl +=== +--- gap-4r7p9.orig/etc/convert.pl gap-4r7p9/etc/convert.pl +@@ -140,6 +140,7 @@ + $] > 5 or die "Needs perl 5"; + + use Getopt::Std; ++use POSIX qw(strftime setlocale LC_TIME); + + $gaproot="/usr/share/gap/"; + #Added by Bill Allombert to absorb ../../.. from caller. Any pkg/*/* would do. +@@ -410,8 +411,26 @@ sub printchaps { + } + } + +-# Printed at the bottom of every page. +-$footer = "\n" . sansserif( "GAP 4 manual" . `date +"%B %Y"` ) . ++# ++# Get the local date or a reproducible date from the environment variable ++# SOURCE_DATE_EPOCH if set. ++# ++sub get_date { ++ my $date = ""; ++ ++ if (defined $ENV{SOURCE_DATE_EPOCH}) { ++ my $locale = setlocale(LC_TIME); ++ setlocale(LC_TIME, "C"); ++ $date = strftime("%B %Y", gmtime($ENV{SOURCE_DATE_EPOCH})); ++ setlocale(LC_TIME, $locale); ++ } else { ++ $date = strftime("%B %Y", gmtime(time)); ++ } ++ ++ return $date; ++} ++ ++$footer = "\n" . sansserif( "GAP 4 manual" . get_date ) . + ""; + + # Section label ... this is the bit that goes after a # in an HREF link +@@ -2091,8 +2110,8 @@ if ($opt_n) { + $booktitle = "$opt_n : a GAP 4 package"; + $booktitle_body = booktitle_body($booktitle, ("GAP", $opt_n)); + $mainman=0; +- $footer = "\n$opt_n manual" . +-`date +"%B %Y"` . ""; ++ $footer = "\n$opt_n manual" . get_date . ++""; + #print "c: $opt_c \n"; + } else { + if ($opt_f) { diff -Nru gap-4r7p9/debian/patches/series gap-4r7p9/debian/patches/series --- gap-4r7p9/debian/patches/series 2015-06-17 18:27:52.0 +0200 +++ gap-4r7p9/debian/patches/series 2016-04-10 18:37:18.0 +0200 @@ -8,3 +8,4 @@ upstream-env-tmpdir fix-basecc fix-testinstall.g +honour-SOURCE_DATE_EPOCH-in-convert.pl.patch signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#819325: angular.js: please make the build reproducible
Source: angular.js Version: 1.3.20-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that angular.js could not be built reproducibly. When processing translation files and using a non-UTF8 locale, grep misdetects them as binary files and embeds the line: "Binary file (standard input) matches" The attached patch fixes this by telling grep to treat the input as text. Once applied, angular.js can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru angular.js-1.3.20/debian/changelog angular.js-1.3.20/debian/changelog --- angular.js-1.3.20/debian/changelog 2016-03-14 16:57:49.0 +0100 +++ angular.js-1.3.20/debian/changelog 2016-03-25 23:51:20.0 +0100 @@ -1,3 +1,10 @@ +angular.js (1.3.20-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix misdetection as binary input in grep when LC_ALL=C + + -- Eduard Sanou <dh...@openmailbox.org> Fri, 25 Mar 2016 23:50:43 +0100 + angular.js (1.3.20-2) unstable; urgency=low * Don't ship minified files until uglifyjs is updated (closes: #815865). diff -Nru angular.js-1.3.20/debian/rules angular.js-1.3.20/debian/rules --- angular.js-1.3.20/debian/rules 2016-03-14 16:54:56.0 +0100 +++ angular.js-1.3.20/debian/rules 2016-03-25 23:50:34.0 +0100 @@ -33,7 +33,7 @@ echo \'use strict\'\;) \ >$(CURDIR)/debian/build/angular.js-head ln -s $(CURDIR)/debian/smash-angularSrc.js $(CURDIR) - smash $(CURDIR)/smash-angularSrc.js | egrep -v 'use strict' \ + smash $(CURDIR)/smash-angularSrc.js | egrep -a -v 'use strict' \ >$(CURDIR)/debian/build/angular.js-body cat $(CURDIR)/debian/build/angular.js-head \ $(CURDIR)/debian/build/angular.js-body \ @@ -108,7 +108,7 @@ (cat $(CURDIR)/src/module.prefix && \ echo \'use strict\'\;) \ >$(CURDIR)/debian/build/angular.js-module_head - smash $(CURDIR)/smash-ngRoute.js | egrep -v 'use strict' \ + smash $(CURDIR)/smash-ngRoute.js | egrep -a -v 'use strict' \ >$(CURDIR)/debian/build/angular.js-route_body cat $(CURDIR)/debian/build/angular.js-module_head \ $(CURDIR)/debian/build/angular.js-route_body | \ @@ -120,7 +120,7 @@ # angular-sanitize.js ln -s $(CURDIR)/debian/smash-ngSanitize.js $(CURDIR) - smash $(CURDIR)/smash-ngSanitize.js | egrep -v 'use strict' \ + smash $(CURDIR)/smash-ngSanitize.js | egrep -a -v 'use strict' \ >$(CURDIR)/debian/build/angular.js-sanitize_body cat $(CURDIR)/debian/build/angular.js-module_head \ $(CURDIR)/debian/build/angular.js-sanitize_body | \ @@ -132,7 +132,7 @@ # angular-touch.js ln -s $(CURDIR)/debian/smash-ngTouch.js $(CURDIR) - smash $(CURDIR)/smash-ngTouch.js | egrep -v 'use strict' \ + smash $(CURDIR)/smash-ngTouch.js | egrep -a -v 'use strict' \ >$(CURDIR)/debian/build/angular.js-touch_body cat $(CURDIR)/debian/build/angular.js-module_head \ $(CURDIR)/debian/build/angular.js-touch_body | \ @@ -147,7 +147,7 @@ ((cat $(CURDIR)/src/loader.prefix | egrep -v 'use strict') && \ echo \'use strict\'\;) \ >$(CURDIR)/debian/build/angular.js-loader_head - smash $(CURDIR)/smash-angularLoader.js | egrep -v 'use strict' \ + smash $(CURDIR)/smash-angularLoader.js | egrep -a -v 'use strict' \ >$(CURDIR)/debian/build/angular.js-loader_body cat $(CURDIR)/debian/build/angular.js-loader_head \ $(CURDIR)/debian/build/angular.js-loader_body | \ signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#832917: hyperscan: please make the build reproducible
Source: hyperscan Version: 4.2.0-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that hyperscan could not be built reproducibly. During the build a timestamp is embedded in the compiled binaries. The attached patch fixes this by using SOURCE_DATE_EPOCH as the timestamp. Once applied, hyperscan can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru hyperscan-4.2.0/debian/changelog hyperscan-4.2.0/debian/changelog --- hyperscan-4.2.0/debian/changelog2016-07-25 21:15:48.0 +0200 +++ hyperscan-4.2.0/debian/changelog2016-07-29 15:39:02.0 +0200 @@ -1,3 +1,11 @@ +hyperscan (4.2.0-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Use SOURCE_DATE_EPOCH as embedded timestamp to make the build +reproducible. + + -- Eduard Sanou <dh...@openmailbox.org> Fri, 29 Jul 2016 15:38:39 +0200 + hyperscan (4.2.0-1) unstable; urgency=medium * Initial release (Closes: #824838) diff -Nru hyperscan-4.2.0/debian/patches/reproducible-timestamp.patch hyperscan-4.2.0/debian/patches/reproducible-timestamp.patch --- hyperscan-4.2.0/debian/patches/reproducible-timestamp.patch 1970-01-01 01:00:00.0 +0100 +++ hyperscan-4.2.0/debian/patches/reproducible-timestamp.patch 2016-07-29 15:40:15.0 +0200 @@ -0,0 +1,27 @@ +Description: Reproducible timestamp + Use SOURCE_DATE_EPOCH as a timestamp to make the build reproducible. +Author: Eduard Sanou <dh...@openmailbox.org> + +Index: hyperscan-4.2.0/CMakeLists.txt +=== +--- hyperscan-4.2.0.orig/CMakeLists.txt hyperscan-4.2.0/CMakeLists.txt +@@ -6,7 +6,17 @@ set (HS_MINOR_VERSION 2) + set (HS_PATCH_VERSION 0) + set (HS_VERSION ${HS_MAJOR_VERSION}.${HS_MINOR_VERSION}.${HS_PATCH_VERSION}) + +-string (TIMESTAMP BUILD_DATE "%Y-%m-%d") ++if (DEFINED ENV{SOURCE_DATE_EPOCH}) ++ execute_process( ++COMMAND "date" "-u" "-d" "@$ENV{SOURCE_DATE_EPOCH}" "+%Y-%m-%d" ++OUTPUT_VARIABLE BUILD_DATE ++OUTPUT_STRIP_TRAILING_WHITESPACE) ++else () ++ execute_process( ++COMMAND "date" "+%Y-%m-%d" ++OUTPUT_VARIABLE BUILD_DATE ++OUTPUT_STRIP_TRAILING_WHITESPACE) ++endif () + + set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) + include(CheckCCompilerFlag) diff -Nru hyperscan-4.2.0/debian/patches/series hyperscan-4.2.0/debian/patches/series --- hyperscan-4.2.0/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ hyperscan-4.2.0/debian/patches/series 2016-07-29 15:39:15.0 +0200 @@ -0,0 +1 @@ +reproducible-timestamp.patch signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#830075: golang-github-kr-binarydist: please make the build reproducible
Source: golang-github-kr-binarydist Version: 0.0~git20120828.0.9955b0a-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that golang-github-kr-binarydist could not be built reproducibly. When building the package, some test functions are run that generate random test files. The randomness for those test files is provided by the kernel (through the crypto/rand go package). The attached patch fixes this by generating deterministic pseudorandom test files instead (by means of the rand go package and setting a fixed seed). The function that creates this test files is only used for testing purposes, and as such, I believe there's no security concern. But I'm not familiar with the package, so please, double check it. Also, consider sending this patch upstream :) Once applied, golang-github-kr-binarydist can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/changelog golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/changelog --- golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/changelog 2016-06-29 22:09:09.0 +0200 +++ golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/changelog 2016-07-04 01:21:45.0 +0200 @@ -1,3 +1,10 @@ +golang-github-kr-binarydist (0.0~git20120828.0.9955b0a-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Make test files deterministic to make the package build reproducible. + + -- Eduard Sanou <dh...@openmailbox.org> Mon, 04 Jul 2016 01:21:16 +0200 + golang-github-kr-binarydist (0.0~git20120828.0.9955b0a-1) unstable; urgency=medium * Initial release (Closes: 823342) diff -Nru golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/deterministic-test-files.patch golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/deterministic-test-files.patch --- golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/deterministic-test-files.patch 1970-01-01 01:00:00.0 +0100 +++ golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/deterministic-test-files.patch 2016-07-04 01:23:15.0 +0200 @@ -0,0 +1,56 @@ +Description: Deterministic test files + Make the files written during tests deterministic to make this package build + reproducible. +Author: Eduard Sanou <dh...@openmailbox.org> + +--- golang-github-kr-binarydist-0.0~git20120828.0.9955b0a.orig/common_test.go golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/common_test.go +@@ -1,10 +1,10 @@ + package binarydist + + import ( +- "crypto/rand" + "io" + "io/ioutil" + "os" ++ "rand" + ) + + func mustOpen(path string) *os.File { +@@ -67,8 +67,9 @@ func fileCmp(a, b *os.File) int64 { + return -1 + } + +-func mustWriteRandFile(path string, size int) *os.File { ++func mustWriteRandFile(path string, size int, seed int64) *os.File { + p := make([]byte, size) ++ rand.Seed(seed) + _, err := rand.Read(p) + if err != nil { + panic(err) +--- golang-github-kr-binarydist-0.0~git20120828.0.9955b0a.orig/diff_test.go golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/diff_test.go +@@ -13,8 +13,8 @@ var diffT = []struct { + new *os.File + }{ + { +- old: mustWriteRandFile("test.old", 1e3), +- new: mustWriteRandFile("test.new", 1e3), ++ old: mustWriteRandFile("test.old", 1e3, 1), ++ new: mustWriteRandFile("test.new", 1e3, 2), + }, + { + old: mustOpen("testdata/sample.old"), +--- golang-github-kr-binarydist-0.0~git20120828.0.9955b0a.orig/patch_test.go golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/patch_test.go +@@ -8,8 +8,8 @@ import ( + ) + + func TestPatch(t *testing.T) { +- mustWriteRandFile("test.old", 1e3) +- mustWriteRandFile("test.new", 1e3) ++ mustWriteRandFile("test.old", 1e3, 1) ++ mustWriteRandFile("test.new", 1e3, 2) + + got, err := ioutil.TempFile("/tmp", "bspatch.") + if err != nil { diff -Nru golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/series golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/series --- golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/series 1970-01-01 01:00:00.0 +0100 +++ golang-github-kr-binarydist-0.0~git20120828.0.9955b0a/debian/patches/series 2016-07-04 01:22:10.0 +0200 @@ -0,0 +1 @@ +deterministic-test-files.patch signature.asc Description: PGP
[Reproducible-builds] Bug#828994: syncthing: please make the build reproducible
Source: syncthing Version: 0.13.4+dfsg1-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that syncthing could not be built reproducibly. genassets.go embeds a timestamp of the localtime to a source code file generated during the build. The attached patch fixes this replacing the local timestamp by SOURCE_DATE_EPOCH if defined. Once applied, syncthing can be built reproducibly in our current experimental framework. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru syncthing-0.13.4+dfsg1/debian/changelog syncthing-0.13.4+dfsg1/debian/changelog --- syncthing-0.13.4+dfsg1/debian/changelog 2016-06-01 16:29:56.0 +0200 +++ syncthing-0.13.4+dfsg1/debian/changelog 2016-06-29 15:50:58.0 +0200 @@ -1,3 +1,10 @@ +syncthing (0.13.4+dfsg1-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Use SOURCE_DATE_EPOCH as embedded timestamp by genassets.go if defined. + + -- Eduard Sanou <dh...@openmailbox.org> Wed, 29 Jun 2016 15:49:38 +0200 + syncthing (0.13.4+dfsg1-1) unstable; urgency=medium * Added missing CC-BY-SA-4.0 section in d/copyright diff -Nru syncthing-0.13.4+dfsg1/debian/patches/series syncthing-0.13.4+dfsg1/debian/patches/series --- syncthing-0.13.4+dfsg1/debian/patches/series2016-06-01 16:29:56.0 +0200 +++ syncthing-0.13.4+dfsg1/debian/patches/series2016-06-29 15:51:12.0 +0200 @@ -1,2 +1,3 @@ use-packaged-gateway.patch genxdr-command.patch +use-SOURCE_DATE_EPOCH.patch diff -Nru syncthing-0.13.4+dfsg1/debian/patches/use-SOURCE_DATE_EPOCH.patch syncthing-0.13.4+dfsg1/debian/patches/use-SOURCE_DATE_EPOCH.patch --- syncthing-0.13.4+dfsg1/debian/patches/use-SOURCE_DATE_EPOCH.patch 1970-01-01 01:00:00.0 +0100 +++ syncthing-0.13.4+dfsg1/debian/patches/use-SOURCE_DATE_EPOCH.patch 2016-06-29 15:52:18.0 +0200 @@ -0,0 +1,46 @@ +Description: Use SOURCE_DATE_EPOCH in genassets.go + Use SOURCE_DATE_EPOCH if defined as the embedded timestamp by genassets.go to + make the generated file reproducible. +Author: Eduard Sanou <dh...@openmailbox.org> + +--- syncthing-0.13.4+dfsg1.orig/script/genassets.go syncthing-0.13.4+dfsg1/script/genassets.go +@@ -13,11 +13,13 @@ import ( + "compress/gzip" + "encoding/base64" + "flag" ++ "fmt" + "go/format" + "io" + "net/http" + "os" + "path/filepath" ++ "strconv" + "strings" + "text/template" + "time" +@@ -93,10 +95,23 @@ func main() { + flag.Parse() + + filepath.Walk(flag.Arg(0), walkerFor(flag.Arg(0))) ++ ++ source_date_epoch := os.Getenv("SOURCE_DATE_EPOCH") ++ var build_date string ++ if source_date_epoch == "" { ++ build_date = time.Now().UTC().Format(http.TimeFormat) ++ } else { ++ sde, err := strconv.ParseInt(source_date_epoch, 10, 64) ++ if err != nil { ++ panic(fmt.Sprintf("Invalid SOURCE_DATE_EPOCH: %s", err)) ++ } ++ build_date = time.Unix(sde, 0).UTC().Format(http.TimeFormat) ++ } ++ + var buf bytes.Buffer + tpl.Execute(, templateVars{ + Assets:assets, +- BuildDate: time.Now().UTC().Format(http.TimeFormat), ++ BuildDate: build_date, + }) + bs, err := format.Source(buf.Bytes()) + if err != nil { signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] Bug#828994: syncthing: please make the build reproducible
I forgot to mention: please, consider sending this patch upstream as it is not Debian specific. Thanks, -- Dhole signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Bug#848633: sugar-toolkit-gtk3: please make the build reproducible
Source: sugar-toolkit-gtk3 Version: 0.110.0-2 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the "reproducible builds" effort [1], we have noticed that sugar-toolkit-gtk3 generates unreproducible desktop files. When generating desktop files, translation files are iterated in a non-deterministic order. The attached patch fixes this by sorting the translation files used to generate the desktop file. Once applied, packages using sugar-toolkit-gtk3 can generate reproducible desktop files in our current experimental framework. Please, consider sending this patch upstream. [1]: https://wiki.debian.org/ReproducibleBuilds Regards, -- Dhole diff -Nru sugar-toolkit-gtk3-0.110.0/debian/changelog sugar-toolkit-gtk3-0.110.0/debian/changelog --- sugar-toolkit-gtk3-0.110.0/debian/changelog 2016-12-12 19:00:52.0 +0100 +++ sugar-toolkit-gtk3-0.110.0/debian/changelog 2016-12-19 03:18:16.0 +0100 @@ -1,3 +1,10 @@ +sugar-toolkit-gtk3 (0.110.0-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Sort translation files when generating desktop file. + + -- Eduard Sanou <dh...@openmailbox.org> Mon, 19 Dec 2016 03:18:16 +0100 + sugar-toolkit-gtk3 (0.110.0-2) unstable; urgency=medium * Modernize CDBS use: diff -Nru sugar-toolkit-gtk3-0.110.0/debian/patches/series sugar-toolkit-gtk3-0.110.0/debian/patches/series --- sugar-toolkit-gtk3-0.110.0/debian/patches/series2016-12-12 04:01:17.0 +0100 +++ sugar-toolkit-gtk3-0.110.0/debian/patches/series2016-12-19 03:18:16.0 +0100 @@ -1,3 +1,4 @@ 020161109~ee93ad3.patch 2002_ignore_debian_and_quilt-patches.patch #2003_bundlebuilder_exit_nonzero_on_error.patch +sort-translation-files.patch diff -Nru sugar-toolkit-gtk3-0.110.0/debian/patches/sort-translation-files.patch sugar-toolkit-gtk3-0.110.0/debian/patches/sort-translation-files.patch --- sugar-toolkit-gtk3-0.110.0/debian/patches/sort-translation-files.patch 1970-01-01 01:00:00.0 +0100 +++ sugar-toolkit-gtk3-0.110.0/debian/patches/sort-translation-files.patch 2016-12-19 03:18:16.0 +0100 @@ -0,0 +1,20 @@ +Description: Sort translation files + Sort translation files when generating the .desktop file to output reproducible results. +Author: Eduard Sanou <dh...@openmailbox.org> + + +Index: sugar-toolkit-gtk3-0.110.0/src/sugar3/activity/bundlebuilder.py +=== +--- sugar-toolkit-gtk3-0.110.0.orig/src/sugar3/activity/bundlebuilder.py sugar-toolkit-gtk3-0.110.0/src/sugar3/activity/bundlebuilder.py +@@ -387,8 +387,8 @@ class Installer(Packager): + if info.has_option('Activity', 'summary'): + cp.set(section, 'Comment', info.get('Activity', 'summary')) + +-for path in glob(os.path.join(activity_path, 'locale', +- '*', 'activity.linfo')): ++for path in sorted(glob(os.path.join(activity_path, 'locale', ++ '*', 'activity.linfo'))): + locale = path.split(os.path.sep)[-2] + info = ConfigParser() + info.read(path) signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds