[Reproducible-builds] Bug#795441: aprx: please make the build reproducible

2015-08-13 Thread Chris Lamb
Source: aprx
Version: 2.08.svn593-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 aprx could not be built reproducibly.

The attached patch removes timezone-varying timestamps from the
generated
manpages Once applied, aprx can be built reproducibly in our
reproducible
toolchain.


 [1]: https://wiki.debian.org/ReproducibleBuilds


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-
diff --no-dereference -urNad 
aprx.orig/aprx-2.08.svn593/debian/patches/02-reproducible-build.patch 
aprx/aprx-2.08.svn593/debian/patches/02-reproducible-build.patch
--- aprx.orig/aprx-2.08.svn593/debian/patches/02-reproducible-build.patch   
1970-01-01 01:00:00.0 +0100
+++ aprx/aprx-2.08.svn593/debian/patches/02-reproducible-build.patch
2015-08-14 01:54:06.223288942 +0200
@@ -0,0 +1,13 @@
+--- aprx-2.08.svn593.orig/Makefile.in
 aprx-2.08.svn593/Makefile.in
+@@ -56,8 +56,8 @@ versionupdate := $(shell if [ $(PKG_REV
+ # SVNVERSION_CMD:=$(shell which svnversion)
+ # SVNVERSION:=$(shell if ${SVNVERSION_CMD}  /dev/null 21  \\ test -x 
${SVNVERSION_CMD} -a \( -d .svn -o -d ../.svn -o -d ../../.svn \)  ; then 
${SVNVERSION_CMD} | tee SVNVERSION ; else cat SVNVERSION; fi)
+ 
+-DATE:=$(shell date +%Y %B %d)
+-RFCDATE:=$(shell date +%a, %d %b %Y %H:%M:%S %z)
++DATE:=$(shell LC_ALL=C date --utc --date=@$(SOURCE_DATE_EPOCH) +%Y %B %d)
++RFCDATE:=$(shell LC_ALL=C date --utc --date=@$(SOURCE_DATE_EPOCH) +%a, %d 
%b %Y %H:%M:%S %z)
+ 
+ DEFS= -DAPRXVERSION=\@VERSION_STRING@r$(SVNVERSION)\ \
+   -DVARRUN=\$(VARRUN)\ -DVARLOG=\$(VARLOG)\ \
diff --no-dereference -urNad aprx.orig/aprx-2.08.svn593/debian/patches/series 
aprx/aprx-2.08.svn593/debian/patches/series
--- aprx.orig/aprx-2.08.svn593/debian/patches/series2015-08-14 
01:44:15.367158322 +0200
+++ aprx/aprx-2.08.svn593/debian/patches/series 2015-08-14 01:54:02.323257600 
+0200
@@ -1 +1,2 @@
 01-man-page.patch
+02-reproducible-build.patch
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

[Reproducible-builds] Bug#795438: wims-extra: please make the build reproducible

2015-08-13 Thread Chris Lamb
Source: wims-extra
Version: 3.62-6
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 wims-extra could not be built reproducibly.

Ironically the fixscripts target in the upstream Makefile actually
breaks files it generates under non-UTF8 locales when they do not
contain regular characters, making them include the tell-tale string
Binary file matches..

The attached patch fixes this with grep's --text option. Once
applied, wims-extra can be built reproducibly in our reproducible
toolchain.

 [1]: https://wiki.debian.org/ReproducibleBuilds


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-
diff --git a/Makefile b/Makefile
index c8aaa84..c47a930 100644
--- a/Makefile
+++ b/Makefile
@@ -62,7 +62,7 @@ copyfiles:
 
 fixscripts:
for f in $(SCRIPTS); do \
- grep -v '#!' $(INSTMODULES)/$$f  $(INSTMODULES)/$$f.tmp; \
+ grep -av '#!' $(INSTMODULES)/$$f  $(INSTMODULES)/$$f.tmp; \
  mv $(INSTMODULES)/$$f.tmp $(INSTMODULES)/$$f; \
done
 
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

[Reproducible-builds] Bug#795443: ocaml: please make the ocamldoc date configurable

2015-08-13 Thread Chris Lamb
Source: ocaml
Version: 4.01.0-5
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: toolchain
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi,

While working on the reproducible builds effort [1], we have noticed
that ocamldoc always generates manpages with the current date.

The attached patch adds a -man-date argument to ocamldoc to accept any
arbitrary string.

An alternative would be to accept a UNIX timestamp and then format that
but a patch for that would be more invasive. The UNIX manpage format
accepts mostly any value here anyway, so this isn't too restrictive.

 [1]: https://wiki.debian.org/ReproducibleBuilds


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-
diff --git a/ocamldoc/odoc_args.ml b/ocamldoc/odoc_args.ml
index be5ce12..5efd6ce 100644
--- a/ocamldoc/odoc_args.ml
+++ b/ocamldoc/odoc_args.ml
@@ -295,6 +295,7 @@ let default_options = [
   -man-mini, Arg.Set Odoc_man.man_mini, M.man_mini ;
   -man-suffix, Arg.String (fun s - Odoc_man.man_suffix := s), M.man_suffix ;
   -man-section, Arg.String (fun s - Odoc_man.man_section := s), 
M.man_section ;
+  -man-date, Arg.String (fun s - Odoc_man.man_date := s), M.man_date ;
 
 ]
 
diff --git a/ocamldoc/odoc_man.ml b/ocamldoc/odoc_man.ml
index 7e01f8d..05c1f46 100644
--- a/ocamldoc/odoc_man.ml
+++ b/ocamldoc/odoc_man.ml
@@ -22,6 +22,7 @@ open Search
 
 let man_suffix = ref Odoc_messages.default_man_suffix
 let man_section = ref Odoc_messages.default_man_section
+let man_date = ref (Odoc_misc.string_of_date ~hour: false (Unix.time ()))
 
 let man_mini = ref false
 
@@ -720,14 +721,13 @@ class man =
 (** Generate the man page for the given class.*)
 method generate_for_class cl =
   Odoc_info.reset_type_names () ;
-  let date = Unix.time () in
   let file = self#file_name cl.cl_name in
   try
 let chanout = self#open_out file in
 let b = new_buf () in
 bs b (.TH \^cl.cl_name^\ );
 bs b !man_section ;
-bs b ( ^(Odoc_misc.string_of_date ~hour: false date)^ );
+bs b ( ^(!man_date)^ );
 bs b OCamldoc ;
 bs b (\^(match !Global.title with Some t - t | None - )^\\n);
 
@@ -779,14 +779,13 @@ class man =
 (** Generate the man page for the given class type.*)
 method generate_for_class_type ct =
   Odoc_info.reset_type_names () ;
-  let date = Unix.time () in
   let file = self#file_name ct.clt_name in
   try
 let chanout = self#open_out file in
 let b = new_buf () in
 bs b (.TH \^ct.clt_name^\ );
 bs b !man_section ;
-bs b ( ^(Odoc_misc.string_of_date ~hour: false date)^ );
+bs b ( ^(!man_date)^ );
 bs b OCamldoc ;
 bs b (\^(match !Global.title with Some t - t | None - )^\\n);
 
@@ -836,14 +835,13 @@ class man =
 (** Generate the man file for the given module type.
@raise Failure if an error occurs.*)
 method generate_for_module_type mt =
-  let date = Unix.time () in
   let file = self#file_name mt.mt_name in
   try
 let chanout = self#open_out file in
 let b = new_buf () in
 bs b (.TH \^mt.mt_name^\ );
 bs b !man_section ;
-bs b ( ^(Odoc_misc.string_of_date ~hour: false date)^ );
+bs b ( ^(!man_date)^ );
 bs b OCamldoc ;
 bs b (\^(match !Global.title with Some t - t | None - )^\\n);
 
@@ -914,14 +912,13 @@ class man =
 (** Generate the man file for the given module.
@raise Failure if an error occurs.*)
 method generate_for_module m =
-  let date = Unix.time () in
   let file = self#file_name m.m_name in
   try
 let chanout = self#open_out file in
 let b = new_buf () in
 bs b (.TH \^m.m_name^\ );
 bs b !man_section ;
-bs b ( ^(Odoc_misc.string_of_date ~hour: false date)^ );
+bs b ( ^(!man_date)^ );
 bs b OCamldoc ;
 bs b (\^(match !Global.title with Some t - t | None - )^\\n);
 
@@ -1045,14 +1042,13 @@ class man =
   | Res_const (_,f) - f.vc_name
  )
  in
- let date = Unix.time () in
   let file = self#file_name name in
   try
 let chanout = self#open_out file in
 let b = new_buf () in
 bs b (.TH \^name^\ );
 bs b !man_section ;
-bs b ( ^(Odoc_misc.string_of_date ~hour: false date)^ );
+bs b ( ^(!man_date)^ );
 bs b OCamldoc ;
 bs b (\^(match !Global.title with Some t - t | None - )^\\n);
 bs b .SH NAME\n;
diff --git a/ocamldoc/odoc_messages.ml b/ocamldoc/odoc_messages.ml
index 2d6327b..7ab6ddc 100644
--- a/ocamldoc/odoc_messages.ml
+++ b/ocamldoc/odoc_messages.ml
@@ -95,6 +95,8 @@ let man_mini = \tGenerate man pages only for modules, module 
types, classes\n^
 let default_man_section = 3
 let man_section = section\n\t\tUse section in man page files ^
   (default is 

[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

[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