[Reproducible-builds] Bug#820427: Show non-debug packages first in output
Source: diffoscope Version: 51 Severity: wishlist Hi, looking at https://tests.reproducible-builds.org/dbd/unstable/amd64/heartbeat_3.0.6-3.diffoscope.html I first had to scroll over a lot of uninformative (?) debug symbols stuff, only to see that the "real" difference in the packages had been cut off from the output due to "Max output size reached". Even if the output is not truncated, I've frequently had the case in the past that the interesting part was hidden at the end or (worse) somewhere in the middle, because -dbgsym packages were checked first. So the idea would be simply to reorder the output to show the -dbgsym and -dbg package differences last. More ideas: * Apply the max size filter also to subsections, e.g. cut off and overly lengthy debug diff and still allow for other things to be shown * Add a table of contents at the top to show which objects are diffed. (The html anchors for jumping to the objects are already there :) * Maybe add "collapse this section" knobs to allow hiding uninteresting or already-read sections * Maybe collapse some sections by default, e.g. the md5sums file diff is neither helpful (there are just hashes) nor informative (well there are differences elsewhere, so these are differing) in normal cirumstances * Drop the outmost table border, my browser already has a window border of its own :) Thanks! Christoph ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#820435: asciidoctor: please honour SOURCE_DATE_EPOCH
Source: asciidoctor Version: 1.5.4-1 Severity: wishlist Tags: patch upstream User: reproducible-builds@lists.alioth.debian.org Usertags: toolchain X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Dear Maintainer, While working on the “reproducible builds” effort [1], we have noticed that several packages (like ruby-build) use asciidoctor in their building process, resulting in timestamps in man files that break reproducibility. To solve this kind of issues, it would be nice to have asciidoctor support the SOURCE_DATE_EPOCH environment variable [2]. See the attached patch for a proposed solution. Regards, Alexis Bienvenüe. [1] https://wiki.debian.org/ReproducibleBuilds [2] https://reproducible-builds.org/specs/source-date-epoch/ diff -Nru asciidoctor-1.5.4/debian/changelog asciidoctor-1.5.4/debian/changelog --- asciidoctor-1.5.4/debian/changelog 2016-02-29 20:11:19.0 +0100 +++ asciidoctor-1.5.4/debian/changelog 2016-04-08 11:20:04.0 +0200 @@ -1,3 +1,10 @@ +asciidoctor (1.5.4-1.0~reproducible1) unstable; urgency=medium + + * Honour SOURCE_DATE_EPOCH to make build of packages using ronn +reproducible. + + -- Alexis Bienvenüe Fri, 08 Apr 2016 11:20:04 +0200 + asciidoctor (1.5.4-1) unstable; urgency=medium * Team upload diff -Nru asciidoctor-1.5.4/debian/patches/honour_SOURCE_DATE_EPOCH.patch asciidoctor-1.5.4/debian/patches/honour_SOURCE_DATE_EPOCH.patch --- asciidoctor-1.5.4/debian/patches/honour_SOURCE_DATE_EPOCH.patch 1970-01-01 01:00:00.0 +0100 +++ asciidoctor-1.5.4/debian/patches/honour_SOURCE_DATE_EPOCH.patch 2016-04-08 12:14:52.0 +0200 @@ -0,0 +1,40 @@ +Description: Honour the SOURCE_DATE_EPOCH environment variable + Honour the SOURCE_DATE_EPOCH environment variable, so that output documents' + timestamp is set to last debian/changelog entry when building packages that + use asciidoctor in their building process. +Author: Alexis Bienvenüe + +Index: asciidoctor-1.5.4/lib/asciidoctor/document.rb +=== +--- asciidoctor-1.5.4.orig/lib/asciidoctor/document.rb asciidoctor-1.5.4/lib/asciidoctor/document.rb +@@ -401,7 +401,11 @@ class Document < AbstractBlock + #attrs['infile'] = attrs['docfile'] + + # dynamic intrinstic attribute values +- now = ::Time.now ++ if ENV['SOURCE_DATE_EPOCH'].nil? ++now = ::Time.now ++ else ++now = ::Time.at(ENV['SOURCE_DATE_EPOCH'].to_i).gmtime ++ end + localdate = (attrs['localdate'] ||= now.strftime('%Y-%m-%d')) + unless (localtime = attrs['localtime']) + begin +Index: asciidoctor-1.5.4/lib/asciidoctor.rb +=== +--- asciidoctor-1.5.4.orig/lib/asciidoctor.rb asciidoctor-1.5.4/lib/asciidoctor.rb +@@ -1308,7 +1308,11 @@ module Asciidoctor + if ::File === input + # TODO cli checks if input path can be read and is file, but might want to add check to API + input_path = ::File.expand_path input.path +- input_mtime = input.mtime ++ if ENV['SOURCE_DATE_EPOCH'].nil? ++input_mtime = input.mtime ++ else ++input_mtime = ::Time.at(ENV['SOURCE_DATE_EPOCH'].to_i).gmtime ++ end + lines = input.readlines + # hold off on setting infile and indir until we get a better sense of their purpose + attributes['docfile'] = input_path diff -Nru asciidoctor-1.5.4/debian/patches/series asciidoctor-1.5.4/debian/patches/series --- asciidoctor-1.5.4/debian/patches/series 2016-02-29 19:48:47.0 +0100 +++ asciidoctor-1.5.4/debian/patches/series 2016-04-08 11:18:11.0 +0200 @@ -3,3 +3,4 @@ skip-asciimath-test.patch package-version.patch skip-unreadable-file.patch +honour_SOURCE_DATE_EPOCH.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#820457: recode: please make the build reproducible (timestamps)
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.0 +0200 +++ recode-3.6/debian/changelog 2016-04-08 18:12:42.0 +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 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.0 +0200 +++ recode-3.6/debian/control 2016-04-08 17:44:02.0 +0200 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Santiago Vila 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.0 +0100 +++ recode-3.6/debian/patches/14-use-packaged-help2man 2016-04-08 17:58:00.0 +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 + +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.0 +0200 +++ recode-3.6/debian/patches/series 2016-04-08 17:30:43.0 +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