[Reproducible-builds] Bug#820194: nasm: please make the build reproducible (font ordering in documentation)

2016-04-06 Thread rain1

Source: nasm
Version: 2.11.08
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps fileordering hostname umask
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

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

The attached patch sorts keys from a hash table listing fonts to ensure 
a stable file order when creating the postscript and pdf documentation. 
Once applied, nasm can be built reproducibly in our

current experimental framework.* sort 'keys' for reproducibility.

Author: Raymond Nicholson 

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: , 
Bug: 
Bug-Debian: https://bugs.debian.org/
Bug-Ubuntu: https://launchpad.net/bugs/
Forwarded: 
Reviewed-By: 
Last-Update: 

--- nasm-2.11.08.orig/doc/genps.pl
+++ nasm-2.11.08/doc/genps.pl
@@ -968,18 +968,18 @@ print "%%Pages: $curpage\n";
 print "%%BoundingBox: 0 0 ", $psconf{pagewidth}, ' ', $psconf{pageheight}, "\n";
 print "%%Creator: (NASM psflow.pl)\n";
 print "%%DocumentData: Clean7Bit\n";
-print "%%DocumentFonts: ", join(' ', keys(%ps_all_fonts)), "\n";
-print "%%DocumentNeededFonts: ", join(' ', keys(%ps_all_fonts)), "\n";
+print "%%DocumentFonts: ", join(' ', sort keys(%ps_all_fonts)), "\n";
+print "%%DocumentNeededFonts: ", join(' ', sort keys(%ps_all_fonts)), "\n";
 print "%%Orientation: Portrait\n";
 print "%%PageOrder: Ascend\n";
 print "%%EndComments\n";
 print "%%BeginProlog\n";
 
 # Emit the configurables as PostScript tokens
-foreach $c ( keys(%psconf) ) {
+foreach $c ( sort keys(%psconf) ) {
 print "/$c ", $psconf{$c}, " def\n";
 }
-foreach $c ( keys(%psbool) ) {
+foreach $c ( sort keys(%psbool) ) {
 print "/$c ", ($psbool{$c}?'true':'false'), " def\n";
 }
 
@@ -1007,7 +1007,7 @@ print "  definefont pop\n";
 print "} def\n";
 
 # Emit fontset definitions
-foreach $font ( keys(%ps_all_fonts) ) {
+foreach $font ( sort keys(%ps_all_fonts) ) {
 print '/',$font,'-NASM /',$font," nasmenc\n";
 }
 
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

[Reproducible-builds] Bug#819767: libtool: please make the build reproducible (timestamps, fileordering, hostname, umask)

2016-04-01 Thread rain1

Source: libtool
Version: 2.4.6
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps fileordering hostname umask
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

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

The attached patch removes extra timestamps from the build system and
ensure a stable file order when creating the source archive as well as 
replacing uses of the `hostname` command with the fixed string 
"localhost". Once applied, libtool can be built reproducibly in our 
current experimental framework.


I also added to rules: dh_strip_nondeterminism -i/-a to the makefile 
before the compress stage.


 [1]: https://wiki.debian.org/ReproducibleBuilds   * deterministic tar archives by sorting by name.

Author: rain1 <ra...@openmailbox.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, 
Bug: 
Bug-Debian: https://bugs.debian.org/
Bug-Ubuntu: https://launchpad.net/bugs/
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: 
Last-Update: 

--- libtool-2.4.6.orig/aclocal.m4
+++ libtool-2.4.6/aclocal.m4
@@ -1104,8 +1104,8 @@ m4_if([$1], [v7],
   # Must skip GNU tar: if it does not support --format= it doesn't create
   # ustar tarball either.
   (tar --version) >/dev/null 2>&1 && continue
-  am__tar='tar chf - "$$tardir"'
-  am__tar_='tar chf - "$tardir"'
+  am__tar='tar --sort=name chf - "$$tardir"'
+  am__tar_='tar --sort=name chf - "$tardir"'
   am__untar='tar xf -'
   ;;
 pax)
@@ -1114,8 +1114,8 @@ m4_if([$1], [v7],
   am__untar='pax -r'
   ;;
 cpio)
-  am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-  am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+  am__tar='find "$$tardir" -print | LC_ALL=C sort -z | cpio -o -H $1 -L'
+  am__tar_='find "$tardir" -print | LC_ALL=C sort -z | cpio -o -H $1 -L'
   am__untar='cpio -i -H $1 -d'
   ;;
 none)
--- libtool-2.4.6.orig/libltdl/aclocal.m4
+++ libtool-2.4.6/libltdl/aclocal.m4
@@ -1104,8 +1104,8 @@ m4_if([$1], [v7],
   # Must skip GNU tar: if it does not support --format= it doesn't create
   # ustar tarball either.
   (tar --version) >/dev/null 2>&1 && continue
-  am__tar='tar chf - "$$tardir"'
-  am__tar_='tar chf - "$tardir"'
+  am__tar='tar --sort=name chf - "$$tardir"'
+  am__tar_='tar --sort=name chf - "$tardir"'
   am__untar='tar xf -'
   ;;
 pax)
@@ -1114,8 +1114,8 @@ m4_if([$1], [v7],
   am__untar='pax -r'
   ;;
 cpio)
-  am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-  am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+  am__tar='find "$$tardir" -print | LC_ALL=C sort -z | cpio -o -H $1 -L'
+  am__tar_='find "$tardir" -print | LC_ALL=C sort -z | cpio -o -H $1 -L'
   am__untar='cpio -i -H $1 -d'
   ;;
 none)
   * set the hostname to a reproducible dummy value.
Author: rain1 <ra...@openmailbox.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, 
Bug: 
Bug-Debian: https://bugs.debian.org/
Bug-Ubuntu: https://launchpad.net/bugs/
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: 
Last-Update: 

--- libtool-2.4.6.orig/m4/autobuild.m4
+++ libtool-2.4.6/m4/autobuild.m4
@@ -22,7 +22,7 @@ AC_DEFUN([AB_INIT],
   fi
   AC_MSG_NOTICE([autobuild revision... $AB_VERSION])
 
-  hostname=`hostname`
+  hostname="debian"
   if test "$hostname"; then
 AC_MSG_NOTICE([autobuild hostname... $hostname])
   fi
   * change all instances of executing `hostname` with constant string "localhost"

Author: rain1 <ra...@openmailbox.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, 
Bug: 
Bug-Debian: https://bugs.debian.org/
Bug-Ubuntu: https://launchpad.net/bugs/
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: 
Last-Update: 

--- libtool-2.4.6.orig/configure
+++ libtool-2.4.6/configure
@@ -577,7 +577,7 @@ exec 6>&1
 # Name of the host.
 # hostname on some systems (SVR3.2, old GNU/Lin