Source: recode
Version: 3.6-22
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Dear Maintainer,

While working on the “reproducible builds” effort [1], we have noticed
that 'recode' could not be built reproducibly.

The attached patch makes recode building using a recent version of
help2man (from the debian package) instead of the old one shipped with
the recode sources. This version honours the SOURCE_DATE_EPOCH
environment variable, so that the date used in the documentation is
taken from the last debian/changelog entry. Once applied, recode can be
built reproducibly in our current experimental framework.

Regards,
Alexis Bienvenüe.

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


diff -Nru recode-3.6/debian/changelog recode-3.6/debian/changelog
--- recode-3.6/debian/changelog	2015-08-26 12:07:35.000000000 +0200
+++ recode-3.6/debian/changelog	2016-04-08 18:12:42.000000000 +0200
@@ -1,3 +1,9 @@
+recode (3.6-22.0~reproducible1) unstable; urgency=medium
+
+  * Uses packaged help2man instead of old version shipped with the sources.
+
+ -- Alexis Bienvenüe <p...@passoire.fr>  Fri, 08 Apr 2016 18:12:42 +0200
+
 recode (3.6-22) unstable; urgency=medium
 
   * Change doc/mdate-sh to use TZ=UTC.
diff -Nru recode-3.6/debian/control recode-3.6/debian/control
--- recode-3.6/debian/control	2013-10-12 17:48:01.000000000 +0200
+++ recode-3.6/debian/control	2016-04-08 17:44:02.000000000 +0200
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Santiago Vila <sanv...@debian.org>
 Standards-Version: 3.9.4
-Build-Depends: debhelper (>= 9), gettext, texinfo
+Build-Depends: debhelper (>= 9), gettext, texinfo, help2man
 
 Package: recode
 Architecture: any
diff -Nru recode-3.6/debian/patches/14-use-packaged-help2man recode-3.6/debian/patches/14-use-packaged-help2man
--- recode-3.6/debian/patches/14-use-packaged-help2man	1970-01-01 01:00:00.000000000 +0100
+++ recode-3.6/debian/patches/14-use-packaged-help2man	2016-04-08 17:58:00.000000000 +0200
@@ -0,0 +1,58 @@
+Description: Use packaged help2man
+ Use packaged help2man instead of the outdated copy included in the
+ sources. This allows reproducibility, since help2man honours
+ SOURCE_DATE_EPOCH since version 1.47.1.
+Author: Alexis Bienvenüe <p...@passoire.fr>
+
+Index: recode-3.6/doc/Makefile.am
+===================================================================
+--- recode-3.6.orig/doc/Makefile.am
++++ recode-3.6/doc/Makefile.am
+@@ -20,7 +20,7 @@ AUTOMAKE_OPTIONS = gnits
+ info_TEXINFOS = recode.texi
+ MAKEINFO = LANG= LANGUAGE= @MAKEINFO@
+ 
+-EXTRA_DIST = libiconv.texi rfc1345.texi File-Latin1 help2man Makemore \
++EXTRA_DIST = libiconv.texi rfc1345.texi File-Latin1 Makemore \
+ tables.py
+ 
+ MOSTLYCLEANFILES = recode.ops
+Index: recode-3.6/src/Makefile.am
+===================================================================
+--- recode-3.6.orig/src/Makefile.am
++++ recode-3.6/src/Makefile.am
+@@ -102,7 +102,7 @@ $(srcdir)/merged.c: mergelex.py $(L_STEP
+ $(srcdir)/recode.1: recode
+ 	@if test -r $@ && test ! -w $@; then \
+ 	  echo "WARNING: Page \`$@' read only, not updated"; \
+-	elif $(PERL) $(top_srcdir)/doc/help2man --output=$@ ./recode; then \
++	elif help2man --output=$@ ./recode; then \
+ 	  echo "Page \`$@' has been updated"; \
+ 	else \
+ 	  echo "WARNING: Page \`$@' has *not* been updated."; \
+Index: recode-3.6/src/Makefile.in
+===================================================================
+--- recode-3.6.orig/src/Makefile.in
++++ recode-3.6/src/Makefile.in
+@@ -819,7 +819,7 @@ $(srcdir)/merged.c: mergelex.py $(L_STEP
+ $(srcdir)/recode.1: recode
+ 	@if test -r $@ && test ! -w $@; then \
+ 	  echo "WARNING: Page \`$@' read only, not updated"; \
+-	elif $(PERL) $(top_srcdir)/doc/help2man --name="converts files between character sets" --output=$@ ./recode; then \
++	elif help2man --name="converts files between character sets" --output=$@ ./recode; then \
+ 	  echo "Page \`$@' has been updated"; \
+ 	else \
+ 	  echo "WARNING: Page \`$@' has *not* been updated."; \
+Index: recode-3.6/doc/Makefile.in
+===================================================================
+--- recode-3.6.orig/doc/Makefile.in
++++ recode-3.6/doc/Makefile.in
+@@ -106,7 +106,7 @@ AUTOMAKE_OPTIONS = gnits
+ info_TEXINFOS = recode.texi
+ MAKEINFO = LANG= LANGUAGE= @MAKEINFO@
+ 
+-EXTRA_DIST = libiconv.texi rfc1345.texi File-Latin1 help2man Makemore tables.py
++EXTRA_DIST = libiconv.texi rfc1345.texi File-Latin1 Makemore tables.py
+ 
+ 
+ MOSTLYCLEANFILES = recode.ops
diff -Nru recode-3.6/debian/patches/series recode-3.6/debian/patches/series
--- recode-3.6/debian/patches/series	2015-08-26 01:33:14.000000000 +0200
+++ recode-3.6/debian/patches/series	2016-04-08 17:30:43.000000000 +0200
@@ -12,3 +12,4 @@
 12-src-names-c-format-string
 13-mdate-sh-use-tz-utc
 99-config-guess-config-sub
+14-use-packaged-help2man
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to