Source: recode Version: 3.6-22 Severity: wishlist Tags: patch upstream User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-bui...@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