[Reproducible-builds] Bug#780955: openssl: please make the build reproducible

2015-03-22 Thread Dhole
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

2015-03-20 Thread Dhole
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

2015-06-07 Thread Dhole
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

2015-06-07 Thread Dhole
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

2015-06-07 Thread Dhole
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

2015-06-07 Thread Dhole
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

2015-06-07 Thread Dhole
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

2015-06-25 Thread Dhole
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

2015-06-25 Thread Dhole
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

2015-06-25 Thread Dhole
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

2015-06-14 Thread Dhole
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

2015-06-14 Thread Dhole
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

2015-06-14 Thread Dhole
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

2015-06-14 Thread Dhole
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

2015-06-14 Thread Dhole
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

2015-06-14 Thread Dhole
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

2015-05-28 Thread Dhole
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

2015-05-28 Thread Dhole
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

2015-05-28 Thread Dhole
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

2015-05-28 Thread Dhole
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

2015-06-28 Thread Dhole
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

2015-05-26 Thread Dhole
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

2015-05-26 Thread Dhole
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

2015-08-07 Thread Dhole
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

2015-08-18 Thread Dhole
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

2015-08-18 Thread Dhole
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

2015-08-18 Thread Dhole
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

2015-08-22 Thread Dhole
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

2015-08-21 Thread Dhole
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

2015-08-21 Thread Dhole
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

2015-08-18 Thread Dhole
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

2015-08-18 Thread Dhole
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

2015-08-18 Thread Dhole
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

2015-08-18 Thread Dhole
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

2015-08-16 Thread Dhole

-- 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

2015-06-30 Thread Dhole
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

2015-07-29 Thread Dhole
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

2015-07-31 Thread Dhole
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

2015-08-05 Thread Dhole
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

2015-08-11 Thread Dhole
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

2015-08-06 Thread Dhole
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

2015-08-06 Thread Dhole
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

2015-08-07 Thread Dhole
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

2015-08-13 Thread Dhole
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

2015-08-09 Thread Dhole
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

2015-08-06 Thread Dhole
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

2015-08-13 Thread Dhole
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

2015-07-22 Thread Dhole
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

2015-07-21 Thread Dhole
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

2015-07-17 Thread Dhole
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

2015-07-25 Thread Dhole
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

2015-07-16 Thread Dhole
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

2015-07-16 Thread Dhole
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

2015-07-16 Thread Dhole
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

2015-07-16 Thread Dhole
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

2015-07-17 Thread Dhole
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

2015-07-13 Thread Dhole
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

2015-07-21 Thread Dhole
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

2015-07-21 Thread Dhole
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)

2015-11-16 Thread Dhole
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)

2015-11-15 Thread Dhole
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

2015-11-15 Thread Dhole
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

2015-07-08 Thread Dhole
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

2015-07-08 Thread Dhole
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

2015-07-08 Thread Dhole
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

2015-09-01 Thread Dhole
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

2015-09-08 Thread Dhole
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

2015-09-10 Thread Dhole
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

2015-09-10 Thread Dhole
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

2016-06-27 Thread Dhole
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

2016-06-26 Thread Dhole
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.

2016-02-11 Thread Dhole
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

2016-02-24 Thread Dhole
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

2016-02-25 Thread Dhole
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

2016-02-25 Thread Dhole
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

2016-02-25 Thread Dhole
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

2016-02-25 Thread Dhole
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

2016-02-18 Thread Dhole
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

2016-04-11 Thread Dhole
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

2016-03-26 Thread Dhole
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

2016-07-29 Thread Dhole
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

2016-07-05 Thread Dhole
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

2016-06-29 Thread Dhole
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

2016-06-29 Thread Dhole
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

2016-12-18 Thread Dhole
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