[Reproducible-builds] Bug#788010: givaro: please make the build reproducible
Source: givaro Version: 3.7.2-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 givaro could not be built reproducibly. The attached patch changes the value of HTML_TIMESTAMP in the file Doxyfile.mod from YES to NO. Once applied givaro can be built reproducibly in our current experimental framework. Patching the doxyfile is necessary in this case because of the following reasons: 1. Even though the doxygen upstream changed the default value of HTML_TIMESTAMP from YES to NO this does not affect this package because the value of HTML_TIMESTAMP is explicitly set to YES. 2. Upstream's doxyfiles cannot reliably be modified to change the value of HTML_TIMESTAMP during the build process because dh_doxygen is only run after the build already completed and even adding a new dh command cannot solve the problem because there exists no sane and reliable solution to detect the file which will be used as the configuration file for doxygen (it is not always called doxyfile). 3. In case of this source package a patch against upstream is necessary in contrast to a patch against Debian rules because this source package does not call doxygen in debian/rules. Please also consider forwarding this patch upstream. Cheers! akira [1]: https://wiki.debian.org/ReproducibleBuilds Description: Change HTML_TIMESTAMP from YES to NO in order to make the package reproducible --- givaro-3.7.2.orig/docs/Doxyfile.mod +++ givaro-3.7.2/docs/Doxyfile.mod @@ -975,7 +975,7 @@ HTML_COLORSTYLE_GAMMA = 80 # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. -HTML_TIMESTAMP = YES +HTML_TIMESTAMP = NO # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#788012: geis: please make the build reproducible
Source: geis Version: 2.2.16-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 geis could not be built reproducibly. The attached patch changes the value of HTML_TIMESTAMP in upstream's doxyfile from YES to NO. Once applied geis can be built reproducibly in our current experimental framework. Patching upstream doxyfile is necessary in this case because of the following reasons: 1. Even though the doxygen upstream changed the default value of HTML_TIMESTAMP from YES to NO this does not affect this package because the value of HTML_TIMESTAMP is explicitly set to YES. 2. Upstream's doxyfiles cannot reliably be modified to change the value of HTML_TIMESTAMP during the build process because dh_doxygen is only run after the build already completed and even adding a new dh command cannot solve the problem because there exists no sane and reliable solution to detect the file which will be used as the configuration file for doxygen (it is not always called doxyfile). 3. In case of this source package a patch against upstream is necessary in contrast to a patch against Debian rules because this source package does not call doxygen in debian/rules. Please also consider forwarding this patch upstream. Thanks! akira [1]: https://wiki.debian.org/ReproducibleBuilds Description: Change HTML_TIMESTAMP option from YES to NO to make package reproducible --- geis-2.2.16.orig/doc/Doxyfile +++ geis-2.2.16/doc/Doxyfile @@ -929,7 +929,7 @@ HTML_COLORSTYLE_GAMMA = 80 # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. -HTML_TIMESTAMP = YES +HTML_TIMESTAMP = NO # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787980: dpkg: please normalize file permissions when creating control.tar
Package: dpkg Version: 1.18.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: umask toolchain Hi! As part of the “reproducible builds” effort, we are curretly trying to have Debian package build identically despite being built under different umasks. dpkg creates the control.tar member of .deb files using GNU Tar. It will thus pick up the permissions of the files on the filesystem. For the specific case of control files, there is a very limited set of acceptable permissions. It seems desirable to enforce this by normalizing the recorded permissions by giving the `--mode=go=rX,u+rw,a-s` option to tar. The attached patch is based on the available master branch. The change is also part of the `pu/reproducible_builds` branch available at: https://anonscm.debian.org/cgit/reproducible/dpkg.git/ -- Lunar.''`. lu...@debian.org: :Ⓐ : # apt-get install anarchism `. `'` `- signature.asc Description: 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#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#787992: fflas-ffpack: please make the build reproducible Source:
Source: fflas-ffpack Version: 1.6.0-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 fflas-ffpack could not be built reproducibly. The attached patch changes the value of HTML_TIMESTAMP in the two files, doc/Doxyfile and doc/DoxyfileDev from YES to NO. Once applied fflas-ffpack can be built reproducibly in our current experimental framework. Patching these doxyfiles is necessary in this case because of the following reasons: 1. Even though the doxygen upstream changed the default value of HTML_TIMESTAMP from YES to NO this does not affect this package because the value of HTML_TIMESTAMP is explicitly set to YES. 2. Upstream's doxyfiles cannot reliably be modified to change the value of HTML_TIMESTAMP during the build process because dh_doxygen is only run after the build already completed and even adding a new dh command cannot solve the problem because there exists no sane and reliable solution to detect the file which will be used as the configuration file for doxygen (it is not always called doxyfile). 3. In case of this source package a patch against upstream is necessary in contrast to a patch against Debian rules because this source package does not call doxygen in debian/rules. Please also consider forwarding this patch upstream. Thank You! akira [1]: https://wiki.debian.org/ReproducibleBuilds Description: Change HTML_TIMESTAMP option from YES to NO to make package reproducible --- fflas-ffpack-1.6.0.orig/doc/Doxyfile +++ fflas-ffpack-1.6.0/doc/Doxyfile @@ -974,7 +974,7 @@ HTML_COLORSTYLE_GAMMA = 80 # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. -HTML_TIMESTAMP = YES +HTML_TIMESTAMP = NO # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to --- fflas-ffpack-1.6.0.orig/doc/DoxyfileDev +++ fflas-ffpack-1.6.0/doc/DoxyfileDev @@ -974,7 +974,7 @@ HTML_COLORSTYLE_GAMMA = 80 # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. -HTML_TIMESTAMP = YES +HTML_TIMESTAMP = NO # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#787984: brickos: please make the build reproducible
Source: brickos Version: 0.9.0.dfsg-10 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 brickos could not be built reproducibly. The attached patch removes $datetime from the file footer-no-sf.htm. Once applied the binary package brickos-doc can be built reproducibly in our current experimental framework. The binary package brickos though is still unreproducible. Please also consider forwarding this patch upstream. Thanks! akira [1]: https://wiki.debian.org/ReproducibleBuilds Description: Remove $datetime from file footer-no-sf.htm to make package reproducible --- brickos-0.9.0.dfsg.orig/doc/html/footer-no-sf.htm +++ brickos-0.9.0.dfsg/doc/html/footer-no-sf.htm @@ -10,7 +10,7 @@ /table hr centersmall -Generated on $datetime for $projectname by a href=http://www.doxygen.org/index.html; +Generated for $projectname by a href=http://www.doxygen.org/index.html; img src=doxygen.png alt=doxygen align=middle border=0 width=110 height=53 /a $doxygenversion/small /center ___ 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
Re: [Reproducible-builds] Bug#787444: help2man: support externally-supplied --date for reproducibility
On 2015-06-04 17:24, Holger Levsen wrote: Hi, On Donnerstag, 4. Juni 2015, Ximin Luo wrote: https://lists.alioth.debian.org/pipermail/reproducible-builds/Week-of-Mon-2 0150330/001317.html for details. TL;DR is to have SOURCEDATE as an environment variable in ISO8601 format. It would be awesome for help2man to support this. At some point, debhelper can even set this environment variable automatically. sounds good to me! Niels, what do you think? cheers, Holger Hi, I see no partial issue in setting this in either dh xor dh_auto_build, provided it is one ENV for all tools (and not one for each tool). Is the variable still actual? I vaguely remember seeing a mention of a SOURCEDATE_UTC or something similar not too long ago in #d-reproducible. Thanks, ~Niels ___ 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