Bug#875887: reproducible-check: reporting some packages twice

2017-09-15 Thread Reiner Herrmann
Package: devscripts
Version: 2.17.10
Severity: minor

Dear Maintainer,

while testing the new reproducible-check tool, I noticed that some
packages are listed multiple times.

$ reproducible-check 
2017-09-15 17:26:21 I: Updating cache...
alsa-lib (1.1.3-5) is unreproducible (libasound2, libasound2-dev) 

alsa-lib (1.1.3-5) is unreproducible (libasound2) 

[...]
flac (1.3.2-1) is unreproducible (flac, libflac++6v5, libflac-dev, libflac8) 

flac (1.3.2-1) is unreproducible (libflac8) 

[...]
nss (2:3.32-2) is unreproducible (libnss3) 

nss (2:3.32-2) is unreproducible (libnss3) 

[...]
sqlite3 (3.20.1-1) is unreproducible (libsqlite3-0, libsqlite3-dev, sqlite3) 

sqlite3 (3.20.1-1) is unreproducible (libsqlite3-0) 



Regards,
  Reiner

___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds


Bug#858431: strip-nondeterminism does not normalize Unix ownership from zip archives

2017-03-30 Thread Reiner Herrmann
On Wed, Mar 22, 2017 at 07:29:03PM +, Chris Lamb wrote:
> > > What I expect to see, and believe should happen, is all UIDs and GIDs in
> > > the zip archive become 0, owned by root.
> > 
> > That would be inconsistent with the current behaviour with tarballs,
> > which also contain UIDs and GIDs and AFAIK are kept untouched by
> > strip-nondeterminism.

tarballs are currently not touched/supported at all by strip-nondeterminism.

> Indeed, and given that we would want the behaviour to be consistent across
> archive formats and I think this goes beyond what strip-nondetermism should
> do, I am marking this as wontfix.

I think it would be more consistent to also normalize UID/GID in zip files,
as this is some non-determinism (that should be stripped).
And strip-nondeterminism currently also normalizes permissions to 755/644,
which is a bit related to UID/GID.


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#849638: diffoscope 66 does binary diff on APK files

2016-12-29 Thread Reiner Herrmann
On Thu, Dec 29, 2016 at 12:41:16PM +0100, Hans-Christoph Steiner wrote:
> When running diffoscope on two APKs using version 66, it now just does a
> straight binary comparison of the direct file itself.  Running
> diffoscope 64 generated a nice output of the individual files in the ZIP
> (an APK is a signed JAR with some other special features). Attached is
> the output from v66.  You can find v64 output here:
> 
> http://37.218.242.117/
> 
> You can download these two APKs to test with from here:
> 
> http://37.218.242.117/aarddict.android_26.apk
> https://f-droid.org/repo/aarddict.android_26.apk

Just had a short look at this. The reason is that file/libmagic detects
the files differently:

$ file 1/aarddict.android_26.apk 2/aarddict.android_26.apk 
1/aarddict.android_26.apk: Java archive data (JAR)
2/aarddict.android_26.apk: Zip archive data, at least v2.0 to extract

So the APK comparator should probably also work on files detected as zip.


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#849403: diffoscope: Improvesupport for Android apps

2016-12-26 Thread Reiner Herrmann
On Mon, Dec 26, 2016 at 07:19:17PM +0200, Emanuel Bronshtein wrote:
> 2. Support parsing android resources not in APK file
>
> Support for some Android files (such as: AndroidManifest.xml & 
> resources.arsc) was added in:
> https://anonscm.debian.org/git/reproducible/diffoscope.git/commit/?id=3e748664a91b7ced412547a204e1473161425d4f
> but it works only if comparing APK files, not directories / when the content 
> archived in other format (non ZIP)

That's unfortunately a limitation of apktool that it only operates on
the whole apk archive, and is not able to dump already extracted files
(like the binary AndroidManifest).


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#848141: diffoscope: diff output in markdown format

2016-12-14 Thread Reiner Herrmann
Source: diffoscope
Version: 63
Severity: wishlist

Hans-Christoph Steiner asked for diff output in Markdown format,
so that it can be easily embedded into Wiki pages etc.


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Re: Build even further in the future to catch more non-determinstic behaviour.

2016-12-10 Thread Reiner Herrmann
On Sat, Dec 10, 2016 at 12:27:12AM +, Holger Levsen wrote:
> I'm not sure but I think that's too much. I think the lifetime of a
> stable release is ~5 years, at least after the release, so maybe 7 years
> or so, but not 10. Also I'm not sure we deliberatly wont to break stuff
> with >3650 days anyway…
> 
> So I'd rather propose 2555+31+2=2588 days…

Currently any date later than 2022-11-19 will probably not work, as then
the jessie signing keys are expiring and packages could not be installed.
Though it could probably be worked around by resigning Release files etc.


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#847595: diffoscope: test_icc.py test failures

2016-12-09 Thread Reiner Herrmann
It fails on my system too (cd-iccdump prints ne_SU instead of en_US):

$ cd-iccdump tests/data/test1.icc
icc:
Header:
  Size  = 14684 bytes
  Version   = 4.3
  Profile Kind  = display-device
  Colorspace= rgb
  Conn. Space   = xyz
  Date, Time= 2016-02-15, 21:02:09
  Flags = Not embedded profile, Use anywhere
  Dev. Attrbts  = reflective, glossy
  Rndrng Intnt  = perceptual
  Creator   = lcms
  Profile ID= 0x0477fa4b

tag 00:
  sig   'desc' [0x64657363]
  size  38
  type  'mluc' [0x6d6c7563]
Text:
  ne_SU:sRGB [24 bytes]

tag 01:
  sig   'cprt' [0x63707274]
  size  2946
  type  'mluc' [0x6d6c7563]
Text:
  ne_SU:This profile is free of known copyright restrictions [216 bytes]
  sc_**:This profile is free of known copyright restrictions [216 bytes]
  ad_**:This profile is free of known copyright restrictions [216 bytes]
  ed_**:This profile is free of known copyright restrictions [216 bytes]
  le_**:This profile is free of known copyright restrictions [216 bytes]
  se_**:This profile is free of known copyright restrictions [216 bytes]
  lg_**:This profile is free of known copyright restrictions [216 bytes]
  uh_**:This profile is free of known copyright restrictions [216 bytes]
  di_**:This profile is free of known copyright restrictions [216 bytes]
  ti_**:This profile is free of known copyright restrictions [216 bytes]
  aj_**:This profile is free of known copyright restrictions [216 bytes]
  ok_**:This profile is free of known copyright restrictions [216 bytes]
  bn_**:This profile is free of known copyright restrictions [216 bytes]
  bn_ON:This profile is free of known copyright restrictions [216 bytes]
  lp_**:This profile is free of known copyright restrictions [216 bytes]
  tp_RB:This profile is free of known copyright restrictions [216 bytes]
  ur_**:This profile is free of known copyright restrictions [216 bytes]
  ks_**:This profile is free of known copyright restrictions [216 bytes]
  rs_**:This profile is free of known copyright restrictions [216 bytes]
  vs_**:This profile is free of known copyright restrictions [216 bytes]
  rt_**:This profile is free of known copyright restrictions [216 bytes]
  ku_**:This profile is free of known copyright restrictions [216 bytes]
  hz_WT:This profile is free of known copyright restrictions [216 bytes]
  hz_NC:This profile is free of known copyright restrictions [216 bytes]

tag 02:
  sig   'wtpt' [0x77747074]
  size  20
  type  'XYZ ' [0x58595a20]
XYZ:
  X:0.964203 Y:1.00 Z:0.824905

tag 03:
  sig   'chad' [0x63686164]
  size  44
  type  'sf32' [0x73663332]

tag 04:
  sig   'rXYZ' [0x7258595a]
  size  20
  type  'XYZ ' [0x58595a20]
XYZ:
  X:0.435852 Y:0.222382 Z:0.013916

tag 05:
  sig   'bXYZ' [0x6258595a]
  size  20
  type  'XYZ ' [0x58595a20]
XYZ:
  X:0.143021 Y:0.060593 Z:0.713837

tag 06:
  sig   'gXYZ' [0x6758595a]
  size  20
  type  'XYZ ' [0x58595a20]
XYZ:
  X:0.385330 Y:0.717041 Z:0.097137

tag 07:
  sig   'rTRC' [0x72545243]
  size  32
  type  'para' [0x70617261]

tag 08:
  sig   'gTRC' [0x67545243]
  link  'rTRC' [0x72545243]
tag 09:
  sig   'bTRC' [0x62545243]
  link  'gTRC' [0x67545243]
tag 10:
  sig   'chrm' [0x6368726d]
  size  36
  type  'chrm' [0x6368726d]

tag 11:
  sig   'meta' [0x6d657461]
  size  326
  type  'dict' [0x64696374]
Dictionary:
  DATA_source   ->  standard
  License   ->  CC0
  STANDARD_space->  srgb
  CMF_binary->  cd-create-profile
  CMF_product   ->  colord
  CMF_version   ->  1.3.1

tag 12:
  sig   'dmdd' [0x646d6464]
  size  10888
  type  'mluc' [0x6d6c7563]
Text:
  ne_SU:This general purpose profile was designed by Hewlett-Packard 
and Microsoft and lives on as the default profile on the Internet for untagged 
RGB colors and used in HDTV. Most uncalibrated displays are able to display 
most of the colors available in sRGB, although this profile is sometimes a poor 
choice for printing. [1272 bytes]
  sc_**:This general purpose profile was designed by Hewlett-Packard 
and Microsoft and lives on as the default profile on the Internet for untagged 
RGB colors and used in HDTV. Most uncalibrated displays are able to display 
most of the colors available in sRGB, although this profile is sometimes a poor 
choice for printing. [1272 bytes]
  ed_**:This general purpose profile was designed by Hewlett-Packard 
and Microsoft and lives on as the default profile on the Internet for untagged 
RGB colors and used in HDTV. Most uncalibrated displays are able to display 
most of the colors available in sRGB, although this profile is sometimes a poor 
choice for printing. [1272 bytes]
  le_**:This general purpose profile was designed by Hewlett-Packard 
and Microsoft and lives on as the default profile on the Internet for 

Bug#845203: Test script & case

2016-11-21 Thread Reiner Herrmann
On Mon, Nov 21, 2016 at 05:55:00PM +, u wrote:
> Wohoo! Is it the fix at this commit
> https://anonscm.debian.org/git/reproducible/strip-nondeterminism.git/commit/?id=7124c6b?

Without the question mark in the URL, yes. :-)


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#845203: Test script & case

2016-11-21 Thread Reiner Herrmann
On Mon, Nov 21, 2016 at 05:38:00PM +, u wrote:
> while trying to provide a test case for this bug, we've noticed that the
> problem only occurs when using @7z@ from testing or sid (provided by the
> @p7zip-full@ package version >16).
> 
> It does not happen when using the Jessie version (currently
> 9.20.1~dfsg.1-4.1+deb8u2). So it might actually be that this bug will
> need to be reassigned to p7zip-full, but I'm in not position to judge this.
> 
> The headers are created nonetheless, and thus this might still represent
> a problem when using @dh-stripnondeterminism@.

Thanks for further information about this bug.
I don't know why the jessie version of 7zip behaves differently, but
strip-nondeterminism was indeed lacking support for NTFS timestamps (id
0x000a), so it is a valid bug.
A fix is already available in git, if you want to test it.

Regards,
  Reiner


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#845007: qsampler: please make the build reproducible

2016-11-19 Thread Reiner Herrmann
Source: qsampler
Version: 0.4.2-1
Severity: wishlist
Tags: patch upstream
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 qsampler could not be built reproducibly.
It embeds the build date into the binary for displaying it with the
version information.
The attached patch strips the build date to allow reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/0002-reproducible-build.patch b/debian/patches/0002-reproducible-build.patch
new file mode 100644
index 000..57a1dd8
--- /dev/null
+++ b/debian/patches/0002-reproducible-build.patch
@@ -0,0 +1,37 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date from version info to make build reproducible
+
+--- a/src/qsamplerMainForm.cpp
 b/src/qsamplerMainForm.cpp
+@@ -1048,8 +1048,6 @@
+ 	ts << "# " << QSAMPLER_TITLE " - " << tr(QSAMPLER_SUBTITLE) << endl;
+ 	ts << "# " << tr("Version")
+ 	<< ": " CONFIG_BUILD_VERSION << endl;
+-	ts << "# " << tr("Build")
+-	<< ": " CONFIG_BUILD_DATE << endl;
+ 	ts << "#"  << endl;
+ 	ts << "# " << tr("File")
+ 	<< ": " << QFileInfo(sFilename).fileName() << endl;
+@@ -1965,7 +1963,6 @@
+ 	sText += "" QSAMPLER_TITLE " - " + tr(QSAMPLER_SUBTITLE) + "\n";
+ 	sText += "\n";
+ 	sText += tr("Version") + ": " CONFIG_BUILD_VERSION "\n";
+-	sText += "" + tr("Build") + ": " CONFIG_BUILD_DATE "\n";
+ #ifdef CONFIG_DEBUG
+ 	sText += "";
+ 	sText += tr("Debugging option enabled.");
+--- a/src/qsamplerOptions.cpp
 b/src/qsamplerOptions.cpp
+@@ -339,10 +339,9 @@
+ 		else if (sArg == "-v" || sArg == "--version") {
+ 			out << QObject::tr("Qt: %1\n")
+ .arg(qVersion());
+-			out << QObject::tr("%1: %2  (%3)\n")
++			out << QObject::tr("%1: %2\n")
+ .arg(QSAMPLER_TITLE)
+-.arg(CONFIG_BUILD_VERSION)
+-.arg(CONFIG_BUILD_DATE);
++.arg(CONFIG_BUILD_VERSION);
+ 		#ifdef CONFIG_LIBGIG
+ 			out << QString("%1: %2\n")
+ .arg(gig::libraryName().c_str())
diff --git a/debian/patches/series b/debian/patches/series
index 56aa973..928ffae 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-hardening.patch
+0002-reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Re: [PATCH] Build even further in the future to catch more non-determinstic behaviour.

2016-11-15 Thread Reiner Herrmann
On Tue, Nov 15, 2016 at 11:26:05AM +, Chris Lamb wrote:
> + sudo date --set="+3980 days +6 hours + 23 minutes"

I think this will lead to issues with apt, as the Debian signing
keys expire before that.

gpg2 --keyring /usr/share/keyrings/debian-archive-keyring.gpg --list-keys | 
grep expire
pub   rsa4096 2010-08-07 [SC] [expires: 2017-08-05]
pub   rsa4096 2010-08-27 [SC] [expires: 2018-03-05]
pub   rsa4096 2012-05-08 [SC] [expires: 2019-05-07]
pub   rsa4096 2012-04-27 [SC] [expires: 2020-04-25]
pub   rsa4096 2013-08-17 [SC] [expires: 2021-08-15]
pub   rsa4096 2014-11-21 [SC] [expires: 2022-11-19]
pub   rsa4096 2014-11-21 [SC] [expires: 2022-11-19]



signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#844095: fdm: please make the build reproducible

2016-11-12 Thread Reiner Herrmann
Source: fdm
Version: 1.7+cvs20140912-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering locale
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that fdm could not be built reproducibly.
It collects source files with "echo *.c", which varies with different
locales. This causes a different order of objects during linking.

The attached patch fixes this by sorting the list of objects.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/04reproducible_build.patch b/debian/patches/04reproducible_build.patch
new file mode 100644
index 000..77e4729
--- /dev/null
+++ b/debian/patches/04reproducible_build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort object files for deterministic linking order
+
+--- a/GNUmakefile
 b/GNUmakefile
+@@ -42,7 +42,7 @@
+ 
+ SRCS= $(shell echo *.c|sed 's|y.tab.c||g'; echo y.tab.c)
+ include config.mk
+-OBJS= $(patsubst %.c,%.o,$(SRCS))
++OBJS= $(sort $(patsubst %.c,%.o,$(SRCS)))
+ 
+ all:		fdm
+ 
diff --git a/debian/patches/series b/debian/patches/series
index e19e569..77b476e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01rename_childuser.patch
 02incrlinelim.patch
 03kfreebsd.patch
+04reproducible_build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#843469: dpkg: please make the build reproducible

2016-11-06 Thread Reiner Herrmann
Source: dpkg
Version: 1.18.12
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timezone
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that dpkg could not be built reproducibly.
The manpages generated during build contain a date, which varies with
the configured timezone.

The attached patch fixes this by fixing the timezone to UTC.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/m4/dpkg-build.m4 b/m4/dpkg-build.m4
index afb2a7d..b970063 100644
--- a/m4/dpkg-build.m4
+++ b/m4/dpkg-build.m4
@@ -14,7 +14,7 @@ AC_DEFUN([DPKG_BUILD_SHARED_LIBS], [
 # ---
 AC_DEFUN([DPKG_BUILD_RELEASE_DATE], [
   TIMESTAMP=$(PERL=$PERL $srcdir/run-script scripts/dpkg-parsechangelog.pl -l$srcdir/debian/changelog -STimestamp)
-  PACKAGE_RELEASE_DATE=$(date --date="@$TIMESTAMP" +%Y-%m-%d)
+  PACKAGE_RELEASE_DATE=$(date --utc --date="@$TIMESTAMP" +%Y-%m-%d)
   AC_SUBST([PACKAGE_RELEASE_DATE])
 ])# DPKG_BUILD_RELEASE_DATE
 


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Re: Please review draft for week 80's blog post

2016-11-06 Thread Reiner Herrmann
On Sun, Nov 06, 2016 at 10:19:16AM +, Chris Lamb wrote:
> Please review the draft for week 80's blog post:
> 
>   https://anonscm.debian.org/git/reproducible/blog.git/
> 
> Feel free to commit (any) changes directly to drafts/80.mdwn -- I am very
> happy to reword and/or rework prior to publishing. :)

The draft can be viewed here btw.:
  https://reproducible.alioth.debian.org/blog/drafts/80/

Reviewing the generated HTML is imho easier than the plain mdwn file.
Can you perhaps include this link in future mails?

I noticed that the items in "Bugs filed" contain again several
duplicates, and even include bugs filed already last week (where they
have already been reported). There seems to be a bug in the script with
which you are generating those.


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

package uploaded to our repo

2016-11-06 Thread Reiner Herrmann
dpkg_1.18.12.0~reproducible1.dsc has just been uploaded to 
https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain

___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds


Bug#843245: distorm3: please make the build reproducible

2016-11-05 Thread Reiner Herrmann
Source: distorm3
Version: 3.3.4-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that distorm3 could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/20_reproducible_build.patch b/debian/patches/20_reproducible_build.patch
new file mode 100644
index 000..8bc70af
--- /dev/null
+++ b/debian/patches/20_reproducible_build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/setup.py
 b/setup.py
+@@ -33,7 +33,7 @@
+ create the libdistorm3 library.
+ """
+ 
+-return glob('src/*.c')
++return sorted(glob('src/*.c'))
+ 
+ 
+ class custom_build(build):
diff --git a/debian/patches/series b/debian/patches/series
index df72857..21eac1f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 10_fix_init_python.patch
+20_reproducible_build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#843235: vdr-plugin-spider: please make the build reproducible

2016-11-05 Thread Reiner Herrmann
Source: vdr-plugin-spider
Version: 0.2.2-21
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that vdr-plugin-spider could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..4babdb3
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/Makefile
 b/Makefile
+@@ -65,7 +65,7 @@
+ 
+ ### The source and object files
+ 
+-SRCS = $(wildcard *.cpp)
++SRCS = $(sort $(wildcard *.cpp))
+ OBJS = $(SRCS:%.cpp=%.o)
+ 
+ ### The main target:
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#843110: greenbone-security-assistant: please make the build reproducible

2016-11-03 Thread Reiner Herrmann
Source: greenbone-security-assistant
Version: 6.0.11+dfsg.1-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale environment
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that greenbone-security-assistant could not be built reproducibly.
One shell script does not normalize the locale while sorting, and
another one relies on echo interpreting escape sequences by default.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..e9e28a2
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,26 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Fix reproducibility issues
+ - implementation of echo differs between shells
+   (bash's echo doesn't interpret the \n by default)
+ - use C locale for sorting, as order can vary between locales
+
+--- a/tools/generate-cpe-icon-dict.sh
 b/tools/generate-cpe-icon-dict.sh
+@@ -152,4 +152,5 @@
+ fi
+ 
+ # Close root element
+-echo "\n"
++echo
++echo ""
+--- a/tools/generate-zone-dict.sh
 b/tools/generate-zone-dict.sh
+@@ -98,7 +98,7 @@
+ fi
+ 
+ echo "  "
+-sed '/^\#/d' /usr/share/zoneinfo/zone.tab | cut -s -f 3 | sort | sed -e "s;\(.*\);  \1;"
++sed '/^\#/d' /usr/share/zoneinfo/zone.tab | cut -s -f 3 | LC_ALL=C sort | sed -e "s;\(.*\);  \1;"
+ 
+ # Append manual zones.
+ if [ -r "$APPEND_FILE" ]
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#843109: zathura-ps: please make the build reproducible

2016-11-03 Thread Reiner Herrmann
Source: zathura-ps
Version: 0.2.3-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that zathura-ps could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..8f5c785
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort list of source files for deterministic linking order
+
+--- a/Makefile
 b/Makefile
+@@ -5,7 +5,7 @@
+ 
+ PROJECT  = zathura-ps
+ PLUGIN   = ps
+-SOURCE   = $(shell find . -iname "*.c")
++SOURCE   = $(shell find . -iname "*.c" | LC_ALL=C sort)
+ HEADER   = $(shell find . -iname "*.h")
+ OBJECTS  = ${SOURCE:.c=.o}
+ DOBJECTS = ${SOURCE:.c=.do}
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#843101: python-hiredis: please make the build reproducible

2016-11-03 Thread Reiner Herrmann
Source: python-hiredis
Version: 0.2.0-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that python-hiredis could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..a5eb6f0
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/setup.py
 b/setup.py
+@@ -44,7 +44,7 @@
+   "sources": ["vendor/hiredis/%s.c" % src for src in ("read", "sds")]})
+ 
+ ext = Extension("hiredis.hiredis",
+-  sources=glob.glob("src/*.c"),
++  sources=sorted(glob.glob("src/*.c")),
+   include_dirs=["vendor"],
+   extra_link_args=["-lhiredis"])
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 6b075bc..1ab1e46 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 0001-Use-system-libhiredis.patch
 fix_build_dir_in_tests.patch
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#843100: python-clips: please make the build reproducible

2016-11-03 Thread Reiner Herrmann
Source: python-clips
Version: 1.0.7.348+clips-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that python-clips could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..ae62f03
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/setup.py
 b/setup.py
+@@ -780,7 +780,7 @@
+ 'userfunctions.c',
+ ]
+ 
+-all_clipssrc = glob(_p(ClipsLIB_dir, '*.c'))
++all_clipssrc = sorted(glob(_p(ClipsLIB_dir, '*.c')))
+ main_clipssrc = ['clipsmodule.c', 'clips_or.c']
+ for x in all_clipssrc:
+ if os.path.basename(x) in TO_REMOVE:
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#843097: spacenavd: please make the build reproducible

2016-11-03 Thread Reiner Herrmann
Source: spacenavd
Version: 0.6-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that spacenavd could not be built reproducibly.
During build it links object files in non-deterministic order.

The attached patch fixes this by sorting the list.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..5b9da5e
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,13 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort object files for deterministic linking
+
+--- a/Makefile.in
 b/Makefile.in
+@@ -1,6 +1,6 @@
+ src = $(wildcard src/*.c) $(wildcard src/serial/*.c) $(wildcard src/magellan/*.c)
+ hdr = $(wildcard src/*.h) $(wildcard src/serial/*.h) $(wildcard src/magellan/*.h)
+-obj = $(src:.c=.o)
++obj = $(sort $(src:.c=.o))
+ dep = $(obj:.o=.d)
+ bin = spacenavd
+ ctl = spnavd_ctl
diff --git a/debian/patches/series b/debian/patches/series
index ec3420b..3633806 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 add-buildflags-to-makefile.patch
 run.patch
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842991: python-axolotl-curve25519: please make the build reproducible

2016-11-02 Thread Reiner Herrmann
Source: python-axolotl-curve25519
Version: 0.1-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that python-axolotl-curve25519 could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..04ed5be
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort list of source files for deterministic linking order
+
+--- a/setup.py
 b/setup.py
+@@ -8,7 +8,7 @@
+ sources.extend(glob("curve/ed25519/nacl_sha512/*.c"))
+ #headers = ['curve25519-donna.h']
+ module_curve = Extension('axolotl_curve25519',
+-sources = sources,
++sources = sorted(sources),
+ #   headers = headers,
+ include_dirs = [
+   'curve/ed25519/nacl_includes',
diff --git a/debian/patches/series b/debian/patches/series
index c7c612c..4174e07 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 fix-unsigned-char-warnings.patch
 removes-unused-variables.patch
 add-prototype.patch
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842992: pyephem: please make the build reproducible

2016-11-02 Thread Reiner Herrmann
Source: pyephem
Version: 3.7.6.0-6
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that pyephem could not be built reproducibly.
During build it links object files in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible_build.patch b/debian/patches/reproducible_build.patch
new file mode 100644
index 000..72e4a60
--- /dev/null
+++ b/debian/patches/reproducible_build.patch
@@ -0,0 +1,16 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/setup.py
 b/setup.py
+@@ -13,8 +13,8 @@
+ # directory plus ...
+ 
+ libastro_version = '3.7.6'
+-libastro_files = glob('libastro-%s/*.c' % libastro_version)
+-libastro_data = glob('extensions/data/*.c')
++libastro_files = sorted(glob('libastro-%s/*.c' % libastro_version))
++libastro_data = sorted(glob('extensions/data/*.c'))
+ 
+ def read(*filenames):
+ return open(os.path.join(os.path.dirname(__file__), *filenames)).read()
diff --git a/debian/patches/series b/debian/patches/series
index 94d33e5..df14648 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ fix_tests_unicode.patch
 spellfix.patch
 disable_failing_tests.patch
 fix_string_to_double.patch
+reproducible_build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842988: masscan: please make the build reproducible

2016-11-02 Thread Reiner Herrmann
Source: masscan
Version: 2:1.0.3-104-g676635d~ds0-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that masscan could not be built reproducibly.
It links objects in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/0002-reproducible-build.patch b/debian/patches/0002-reproducible-build.patch
new file mode 100644
index 000..cccfb20
--- /dev/null
+++ b/debian/patches/0002-reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/Makefile
 b/Makefile
+@@ -87,7 +87,7 @@
+ 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
+ 
+ 
+-SRC = $(wildcard src/*.c)
++SRC = $(sort $(wildcard src/*.c))
+ OBJ = $(addprefix tmp/, $(notdir $(addsuffix .o, $(basename $(SRC) 
+ 
+ 
diff --git a/debian/patches/series b/debian/patches/series
index b5c7eee..6ebcf90 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-buildsystem.patch
+0002-reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842986: zathura-pdf-poppler: please make the build reproducible

2016-11-02 Thread Reiner Herrmann
Source: zathura-pdf-poppler
Version: 0.2.6-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that zathura-pdf-poppler could not be built reproducibly.
It links objects in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..35f2f85
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/Makefile
 b/Makefile
+@@ -5,7 +5,7 @@
+ 
+ PROJECT  = zathura-pdf-poppler
+ PLUGIN   = pdf
+-SOURCE   = $(wildcard *.c)
++SOURCE   = $(sort $(wildcard *.c))
+ HEADER   = $(wildcard *.h)
+ OBJECTS  = ${SOURCE:.c=.o}
+ DOBJECTS = ${SOURCE:.c=.do}
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842868: gip: please make the build reproducible

2016-11-01 Thread Reiner Herrmann
Source: gip
Version: 1.7.0-1-4
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that gip could not be built reproducibly.
It links objects in a non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/80-reproducible-build.diff b/debian/patches/80-reproducible-build.diff
new file mode 100644
index 000..b8e89f2
--- /dev/null
+++ b/debian/patches/80-reproducible-build.diff
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/build.sh
 b/build.sh
+@@ -12,7 +12,7 @@
+ REQUIRED_LIBS='gtkmm-2.4 sigc++-2.0'
+ 
+ # Program files.
+-PROGFILES=`find src/ -name "*.cc" -o -name "*.c"`
++PROGFILES=`find src/ -name "*.cc" -o -name "*.c" | LC_ALL=C sort`
+ 
+ # Installation paths. (Plugins will be installed in the LIBDIR)
+ INST_IN_LIBDIR=`find . -name "*.glade"`
diff --git a/debian/patches/series b/debian/patches/series
index e8b6966..69009c4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,4 @@
 70-remove-header.diff
 71-debian-hardening.diff
 72-desktop-file.diff
+80-reproducible-build.diff


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842867: i3status: please make the build reproducible

2016-11-01 Thread Reiner Herrmann
Source: i3status
Version: 2.10-2 
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that i3status could not be built reproducibly.
It links objects in non-deterministic order.

The attached patch fixes this by sorting the list.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..762596a
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort objects for deterministic linking order
+
+--- a/Makefile
 b/Makefile
+@@ -67,7 +67,7 @@
+ # YAJL_MAJOR from that file to decide which code path should be used.
+ CFLAGS += -idirafter yajl-fallback
+ 
+-OBJS:=$(wildcard src/*.c *.c)
++OBJS:=$(sort $(wildcard src/*.c *.c))
+ OBJS:=$(OBJS:.c=.o)
+ 
+ ifeq ($(OS),OpenBSD)
diff --git a/debian/patches/series b/debian/patches/series
index 4d1e94a..4cc025f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 kfreebsd-ftbfs.patch
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842865: atanks: please make the build reproducible

2016-11-01 Thread Reiner Herrmann
Source: atanks
Version: 6.4~dfsg-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that atanks could not be built reproducibly.
It links object files in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..347aa42
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/Makefile
 b/Makefile
+@@ -45,7 +45,7 @@
+ # 
+ # Source files and objects
+ # 
+-SOURCES := $(wildcard src/*.cpp)
++SOURCES := $(sort $(wildcard src/*.cpp))
+ MODULES := $(addprefix obj/,$(notdir $(SOURCES:.cpp=.o)))
+ DEPENDS := $(addprefix dep/,$(notdir $(SOURCES:.cpp=.d)))
+ 
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842864: aewan: please make the build reproducible

2016-11-01 Thread Reiner Herrmann
Source: aewan
Version: 1.0.01-4
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that aewan could not be built reproducibly.
It links object files in a non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/Makefile.in b/Makefile.in
index 5aac058..3fd224b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -29,7 +29,7 @@
 # License para obter mais detalhes (uma cópia acompanha este
 # programa, armazenada no arquivo COPYING).
  
-sources=$(wildcard *.c) $(wildcard aewl/*.c) $(wildcard bores/*.c)
+sources=$(sort $(wildcard *.c) $(wildcard aewl/*.c) $(wildcard bores/*.c))
 headers=$(wildcard *.h) $(wildcard bores/*.h) $(wildcard aewl/*.h)
 execs=aewan@EXESUF@ aecat@EXESUF@ aemakeflic@EXESUF@
 mainobjs=$(patsubst %@EXESUF@,%.o,$(execs))


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842628: mwparserfromhell: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: mwparserfromhell
Version: 0.4.2-1.1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that mwparserfromhell could not be built reproducibly.
It globs for source files without sorting them, so the objects are
linked in non-deterministic order.

The attached patch fixes that by sorting the list.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/setup.py b/setup.py
index 1bca436..7d06a47 100644
--- a/setup.py
+++ b/setup.py
@@ -75,7 +75,7 @@ if fallback:
 # Project-specific part begins here:
 
 tokenizer = Extension("mwparserfromhell.parser._tokenizer",
-  sources=glob("mwparserfromhell/parser/ctokenizer/*.c"),
+  sources=sorted(glob("mwparserfromhell/parser/ctokenizer/*.c")),
   depends=glob("mwparserfromhell/parser/ctokenizer/*.h"))
 
 setup(


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842625: fuse-zip: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: fuse-zip
Version: 0.4.0-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that fuse-zip could not be built reproducibly.
During build it links object files in non-deterministic order.

The attached patch fixes that by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..6d6a8de
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort list of source files for deterministic linking order
+
+--- a/lib/Makefile
 b/lib/Makefile
+@@ -4,7 +4,7 @@
+ RELEASE_CXXFLAGS=-O2 -Wall -Wextra
+ FUSEFLAGS=$(shell pkg-config fuse --cflags)
+ ZIPFLAGS=$(shell pkg-config libzip --cflags)
+-SOURCES=$(wildcard *.cpp)
++SOURCES=$(sort $(wildcard *.cpp))
+ OBJECTS=$(SOURCES:.cpp=.o)
+ CLEANFILES=$(OBJECTS) $(DEST)
+ 
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842624: mdp-src: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: mdp-src
Version: 1.0.8-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that mdp-src could not be built reproducibly.
During build it links object files in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..87d30e4
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort list of source files for deterministic linking order
+
+--- a/Makefile
 b/Makefile
+@@ -20,7 +20,7 @@
+ 
+ UNAME_S := $(shell uname -s 2>/dev/null || echo not)
+ 
+-SOURCES = $(wildcard src/*.c)
++SOURCES = $(sort $(wildcard src/*.c))
+ OBJECTS = $(SOURCES:.c=.o)
+ TARGET  = mdp
+ DESTDIR =
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842583: paulstretch: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: paulstretch
Version: 2.2-2-3
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that paulstretch could not be built reproducibly.
The fileorder during linking varies.

The attached patch fixes this by sorting the list of source files with
ls.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 2ddcc13..d32768e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,7 +10,7 @@ override_dh_auto_build:
 	# ./compile_linux_fftw.sh with custom LDFLAGS
 	fluid -c GUI.fl 
 	fluid -c FreeEditUI.fl
-	g++  GUI.cxx FreeEditUI.cxx *.cpp Input/*.cpp Output/*.cpp \
+	g++  GUI.cxx FreeEditUI.cxx `LC_ALL=C ls *.cpp Input/*.cpp Output/*.cpp` \
 	  -o paulstretch \
 	  $(LDFLAGS) \
 	  `fltk-config --cflags` `fltk-config --ldflags` \


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842581: cryptsetup: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: cryptsetup
Version: 2:1.7.2-5
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 cryptsetup could not be built reproducibly.
.mo files generated during build contain timestamps.

The attached patch fixes this by stripping them with
strip-nondeterminism.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/control b/debian/control
index 82a7e58..7e9c2e1 100644
--- a/debian/control
+++ b/debian/control
@@ -4,7 +4,7 @@ Priority: optional
 Maintainer: Debian Cryptsetup Team 
 Uploaders: Jonas Meurer ,
  Guilhem Moulin 
-Build-Depends: libgcrypt20-dev (>= 1.6.1), libdevmapper-dev (>= 2:1.02.24-4), libpopt-dev, uuid-dev, libselinux1-dev, libsepol1-dev, libtool (>= 2.2), autoconf, automake (>= 1:1.12), pkg-config, autopoint, gettext, debhelper (>= 9.20120410~), xsltproc, docbook-xml, docbook-xsl (>= 1.74.3+dfsg), dpkg-dev (>= 1.15.1), po-debconf
+Build-Depends: libgcrypt20-dev (>= 1.6.1), libdevmapper-dev (>= 2:1.02.24-4), libpopt-dev, uuid-dev, libselinux1-dev, libsepol1-dev, libtool (>= 2.2), autoconf, automake (>= 1:1.12), pkg-config, autopoint, gettext, debhelper (>= 9.20120410~), xsltproc, docbook-xml, docbook-xsl (>= 1.74.3+dfsg), dpkg-dev (>= 1.15.1), po-debconf, dh-strip-nondeterminism
 Standards-Version: 3.9.8
 Homepage: https://gitlab.com/cryptsetup/cryptsetup
 Vcs-Browser: https://anonscm.debian.org/cgit/pkg-cryptsetup/cryptsetup.git
diff --git a/debian/rules b/debian/rules
index 2083a0a..4dba608 100755
--- a/debian/rules
+++ b/debian/rules
@@ -189,6 +189,7 @@ binary-arch: build install
 	# Copy relevant parts to libcryptsetup4-udeb package
 	cp -a $(CURDIR)/debian/libcryptsetup4/lib $(CURDIR)/debian/libcryptsetup4-udeb/
 	dh_lintian -a
+	dh_strip_nondeterminism
 	dh_compress -a
 	dh_fixperms -a
 	dh_strip -a


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842550: the: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: the
Version: 3.3~rc1-3
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps locale
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that 'the' could not be built reproducibly.
The sorting of the md5sums file varies with different locales, and the
generated documentation contains build timestamps.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/md5_sums b/debian/md5_sums
index a5dbdef..d6c42ba 100644
--- a/debian/md5_sums
+++ b/debian/md5_sums
@@ -7,7 +7,7 @@ TMP_FILE=./file-list
 for TMPDIR; do
find debian/${TMPDIR}/* -type f ! -regex "^debian/${TMPDIR}/DEBIAN/.*" \
  ! -regex "^debian/${TMPDIR}/etc/.*" | \
-  sed s@debian/${TMPDIR}/@@g | sort > ${TMP_FILE}
+  sed s@debian/${TMPDIR}/@@g | LC_ALL=C sort > ${TMP_FILE}
cd debian/${TMPDIR}  
xargs < ../../${TMP_FILE} md5sum > DEBIAN/md5sums
cd ../../
diff --git a/debian/patches/reproducible-build b/debian/patches/reproducible-build
new file mode 100644
index 000..cafd111
--- /dev/null
+++ b/debian/patches/reproducible-build
@@ -0,0 +1,31 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Generate reproducible documentation
+ - Use fixed copyright year
+ - Don't embed generation timestamp
+
+--- a/man2html.rex
 b/man2html.rex
+@@ -1137,9 +1137,8 @@
+ footing: Procedure Expose html_ext
+ Parse Arg src .
+ Say ''
+-Say 'The Hessling Editor is Copyright  http://www.rexx.org/;>Mark Hessling, 1990-'Left( Date('S'), 4 )
++Say 'The Hessling Editor is Copyright  http://www.rexx.org/;>Mark Hessling, 1990-2011'
+ Say 'm...@rexx.org'
+-Say 'Generated on:' Date()
+ Say ''
+ If src \= 'TOC' Then Say 'Return to  Table of Contents '
+ Say ' '
+--- a/man2hv.rex
 b/man2hv.rex
+@@ -1228,9 +1228,8 @@
+ footing: Procedure Expose html_ext ?port ?slash ?os
+ Parse Arg fn src .
+ Call Lineout fn, ''
+-Call Lineout fn, 'The Hessling Editor is Copyright  http://www.rexx.org/;>Mark Hessling, 1990-'Left( Date('S'), 4 )
++Call Lineout fn, 'The Hessling Editor is Copyright  http://www.rexx.org/;>Mark Hessling, 1990-2011'
+ Call Lineout fn, 'm...@rexx.org'
+-Call Lineout fn, 'Generated on:' Date()
+ Call Lineout fn, ''
+ If src \= 'TOC' Then Call Lineout fn, 'Return to  Table of Contents '
+ Call Lineout fn, ' '
diff --git a/debian/patches/series b/debian/patches/series
index 42fe636..7690bc9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 az-patch-01
+reproducible-build


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842548: libmsv: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: libmsv
Version: 1.1-2
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that libmsv could not be built reproducibly.
It embeds timestamps while gzip-compressing some files, and has
randomly ordered md5sums files.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 764d7cf..002a5dc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -54,7 +54,7 @@ binary-arch: checkroot
 
 	$(INSTALL_FILE) debian/copyright debian/$(package)/usr/share/doc/$(package)
 	$(INSTALL_FILE) debian/changelog debian/$(package)/usr/share/doc/$(package)/changelog.Debian
-	gzip -9f debian/$(package)/usr/share/doc/$(package)/changelog.Debian
+	gzip -9fn debian/$(package)/usr/share/doc/$(package)/changelog.Debian
 
 	mv debian/$(package)/usr/lib/*.a debian/$(devpkg)/usr/lib
 	mv debian/$(package)/usr/lib/*.so debian/$(devpkg)/usr/lib
@@ -67,15 +67,15 @@ binary-arch: checkroot
 	$(INSTALL_FILE) html/*.html html/*.png html/*.css html/dynsections.js debian/$(devpkg)/usr/share/doc/$(devpkg)/html
 	ln -s ../../../javascript/jquery/jquery.min.js debian/$(devpkg)/usr/share/doc/$(devpkg)/html/jquery.js
 	$(INSTALL_FILE) man/man3/msv*.3 debian/$(devpkg)/usr/share/man/man3
-	gzip -9f debian/$(devpkg)/usr/share/man/man3/*
+	gzip -9fn debian/$(devpkg)/usr/share/man/man3/*
 	$(INSTALL_FILE) debian/changelog debian/$(devpkg)/usr/share/doc/$(devpkg)/changelog.Debian
-	gzip -9f debian/$(devpkg)/usr/share/doc/$(devpkg)/changelog.Debian
+	gzip -9fn debian/$(devpkg)/usr/share/doc/$(devpkg)/changelog.Debian
 
 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
 	strip debian/$(package)/usr/lib/*.so.*
 endif
 	$(INSTALL_SCRIPT) debian/$(package).postinst debian/$(package)/DEBIAN/postinst
-	cd debian/$(package) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
+	cd debian/$(package) && find * -type f ! -regex '^DEBIAN/.*' -print0 | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
 	echo 'libmsv 1 $(package)' >debian/$(package)/DEBIAN/shlibs
 	dpkg-shlibdeps -Tdebian/$(package).substvars -dDepends debian/$(package)/usr/lib/*.so.*
 	dpkg-gencontrol -ldebian/changelog -isp -p$(package) -Tdebian/$(package).substvars -Pdebian/$(package)
@@ -85,7 +85,7 @@ endif
 		xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
 	dpkg --build debian/$(package) ..
 
-	cd debian/$(devpkg) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
+	cd debian/$(devpkg) && find * -type f ! -regex '^DEBIAN/.*' -print0 | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
 	dpkg-gencontrol -ldebian/changelog -isp -p$(devpkg) -Tdebian/$(devpkg).substvars -Pdebian/$(devpkg)
 	chown -R root:root debian/$(devpkg)
 	chmod -R go=rX debian/$(devpkg)


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#842546: rsbackup: please make the build reproducible

2016-10-30 Thread Reiner Herrmann
Source: rsbackup
Version: 3.1-2
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that rsbackup could not be built reproducibly.
The changelog generated with lynx differs in the encoding, which is
fixed by running lynx always under a C.UTF-8 locale.
Also the order of lines in md5sums differs, as the file list is not
sorted.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index f076f21..fd1c2e5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -61,7 +61,7 @@ binary-${PACKAGE}: build
 	cp debian/changelog debian/${PACKAGE}/usr/share/doc/${PACKAGE}/changelog.Debian
 	cp debian/doc.rsbackup debian/${PACKAGE}/usr/share/doc-base/rsbackup
 	cp README.md debian/${PACKAGE}/usr/share/doc/${PACKAGE}/.
-	lynx -dump -nolist doc/CHANGES.html > debian/${PACKAGE}/usr/share/doc/${PACKAGE}/changelog
+	LC_ALL=C.UTF-8 lynx -dump -nolist doc/CHANGES.html > debian/${PACKAGE}/usr/share/doc/${PACKAGE}/changelog
 	gzip -9nv debian/${PACKAGE}/usr/share/doc/${PACKAGE}/*
 	cp doc/*.html doc/*.css debian/${PACKAGE}/usr/share/doc/${PACKAGE}/.
 	cp debian/copyright debian/${PACKAGE}/usr/share/doc/${PACKAGE}/.
@@ -73,7 +73,7 @@ binary-${PACKAGE}: build
 	cd debian/${PACKAGE} && \
 	  find -name DEBIAN -prune -o -type f -print \
 	| sed 's/^\.\///' \
-			| xargs md5sum > DEBIAN/md5sums
+			| LC_ALL=C sort | xargs md5sum > DEBIAN/md5sums
 	dpkg-gencontrol -isp -p${PACKAGE} -Pdebian/${PACKAGE} \
 		-Tdebian/substvars.rsbackup
 	chown -R root:root debian/${PACKAGE}


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Re: Bug#841783: patchutils: please make the build reproducible

2016-10-23 Thread Reiner Herrmann
On Sun, Oct 23, 2016 at 03:29:36PM +0200, Reiner Herrmann wrote:
> --- a/debian/rules
> +++ b/debian/rules
> @@ -13,7 +13,7 @@ else
>  CONFFLAGS = --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
>  endif
>  
> -CFLAGS = -g
> +CFLAGS = $(shell dpkg-buildflags --get CFLAGS)
>  
>  ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
>  CFLAGS += -O2

Niels Thykier suggested another approach.
dh_auto_configure already handles CFLAGS and cross-building, so the
rules can be simplified a bit.
An updated patch is attached.
diff --git a/debian/patches/format_string b/debian/patches/format_string
new file mode 100644
index 000..f38677e
--- /dev/null
+++ b/debian/patches/format_string
@@ -0,0 +1,27 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: don't pass error message directly as format string to error()
+ Build fails with -Werror=format-security enabled, because no constant string
+ is passed as error string.
+ Passing a string based on user input (regex) directly as format string is
+ a security issue.
+
+--- a/src/filterdiff.c
 b/src/filterdiff.c
+@@ -1355,7 +1355,7 @@
+ 			char errstr[300];
+ 			regerror (err, [num_regex - 1], errstr,
+   sizeof (errstr));
+-			error (EXIT_FAILURE, 0, errstr);
++			error (EXIT_FAILURE, 0, "%s", errstr);
+ 			exit (1);
+ 		}
+ 	}
+@@ -1613,7 +1613,7 @@
+ 			char errstr[300];
+ 			regerror (err, [num_regex - 1], errstr,
+   sizeof (errstr));
+-			error (EXIT_FAILURE, 0, errstr);
++			error (EXIT_FAILURE, 0, "%s", errstr);
+ 			exit (1);
+ 		}
+ 	}
diff --git a/debian/patches/series b/debian/patches/series
index 72dc30c..a584743 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 espdiff.6
 posixness_fix
+format_string
diff --git a/debian/rules b/debian/rules
index 5717bca..5f1f989 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,28 +4,13 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
-CONFFLAGS = --build $(DEB_HOST_GNU_TYPE)
-else
-CONFFLAGS = --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
-endif
-
-CFLAGS = -g
-
-ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-CFLAGS += -O2
-endif
-
 D=$(CURDIR)/debian/patchutils/usr
 
 configure: configure-stamp
 configure-stamp:
 	dh_testdir
 	dh_autoreconf
-	CFLAGS="$(CFLAGS)" ./configure $(CONFFLAGS) --prefix=/usr --mandir=\$${prefix}/share/man
+	dh_auto_configure
 	touch configure-stamp
 
 build build-arch: build-stamp
@@ -37,10 +22,8 @@ build-stamp: configure-stamp
 	# point to a path relative to the top-level manual hierarchy
 	sed -i -e 's/ rediff.1/ man1\/rediff.1/' doc/editdiff.1
 ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
-ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
 	$(MAKE) check -j1
 endif
-endif
 	touch build-stamp
 
 build-indep:
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#841783: patchutils: please make the build reproducible

2016-10-23 Thread Reiner Herrmann
Source: patchutils
Version: 0.3.4-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that patchutils could not be built reproducibly.
It does not use CFLAGS provided by dpkg-buildflags for building, which
would set -fdebug-prefix-map to prevent the full build path from being
included in debugging symbols.

The attached patch fixes that by using dpkg-buildflags for setting CFLAGS.
Due to -Werror=format-security, which is then also set by dpkg-buildflags,
the build failed because of a format string issue.
A patch for this is also included.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/format_string b/debian/patches/format_string
new file mode 100644
index 000..f38677e
--- /dev/null
+++ b/debian/patches/format_string
@@ -0,0 +1,27 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: don't pass error message directly as format string to error()
+ Build fails with -Werror=format-security enabled, because no constant string
+ is passed as error string.
+ Passing a string based on user input (regex) directly as format string is
+ a security issue.
+
+--- a/src/filterdiff.c
 b/src/filterdiff.c
+@@ -1355,7 +1355,7 @@
+ 			char errstr[300];
+ 			regerror (err, [num_regex - 1], errstr,
+   sizeof (errstr));
+-			error (EXIT_FAILURE, 0, errstr);
++			error (EXIT_FAILURE, 0, "%s", errstr);
+ 			exit (1);
+ 		}
+ 	}
+@@ -1613,7 +1613,7 @@
+ 			char errstr[300];
+ 			regerror (err, [num_regex - 1], errstr,
+   sizeof (errstr));
+-			error (EXIT_FAILURE, 0, errstr);
++			error (EXIT_FAILURE, 0, "%s", errstr);
+ 			exit (1);
+ 		}
+ 	}
diff --git a/debian/patches/series b/debian/patches/series
index 72dc30c..a584743 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 espdiff.6
 posixness_fix
+format_string
diff --git a/debian/rules b/debian/rules
index 5717bca..18a29ea 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,7 +13,7 @@ else
 CONFFLAGS = --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
 endif
 
-CFLAGS = -g
+CFLAGS = $(shell dpkg-buildflags --get CFLAGS)
 
 ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 CFLAGS += -O2


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#841779: netkit-rsh: please make the build reproducible

2016-10-23 Thread Reiner Herrmann
Source: netkit-rsh
Version: 0.17-16
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that netkit-rsh could not be built reproducibly.
The build path is captured in debugging symbols.

The attached patch fixes this by exporting dpkg-buildflags, which passes
-fdebug-prefix-map to the compiler to prevent absolute paths from
being captured.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index d887e11..1fd953a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,6 +4,9 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
 CDEFS := -Ddebian -DFSUID_HACK -D_GNU_SOURCE
 
 build:


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#841777: perl-tk: please make the build reproducible

2016-10-23 Thread Reiner Herrmann
Source: perl-tk
Version: 1:804.033-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that perl-tk could not be built reproducibly.
It does not use dpkg-buildflags while compiling C sources, which causes
the build path to be embedded in debug symbols, as -fdebug-prefix-map is
not specified.

The attached patch fixes this by passing the CFLAGS to the build process.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 3a650b2..ff16864 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,7 +30,7 @@ build-indep: build
 
 build:	build-stamp
 build-stamp:	config-stamp
-	$(MAKE) LD_RUN_PATH=
+	$(MAKE) LD_RUN_PATH= OPTIMIZE="$(CFLAGS)"
 	touch $@
 
 clean:	checkroot


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#841702: libapt-pkg-perl: please make the build reproducible

2016-10-22 Thread Reiner Herrmann
Source: libapt-pkg-perl
Version: 0.1.29
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that libapt-pkg-perl could not be built reproducibly.
It doesn't use dpkg-buildflags for compiling a C file, which causes the
build path to be embedded in debugging symbols (as -fdebug-prefix-map
won't be used).

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index c20a9c1..1d1bf9b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -8,7 +8,7 @@ build-indep: build-stamp
 build-stamp:
 	dh_testdir
 	perl Makefile.PL INSTALLDIRS=vendor
-	$(MAKE) OPTIMIZE="-O2 -g -Wall"
+	$(MAKE) OPTIMIZE="$(shell dpkg-buildflags --get CFLAGS) -Wall"
 	touch build-stamp
 
 clean:


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#841701: libtext-charwidth-perl: please make the build reproducible

2016-10-22 Thread Reiner Herrmann
Source: libtext-charwidth-perl
Version: 0.04-7
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that libtext-charwidth-perl could not be built reproducibly.
For compilation of a C file the dpkg-buildflags are not used, which
causes build path differences, as -fdebug-prefix-map won't be used.

The attached patch fixes this.
There also was a call to "dh $@" in the install target, which caused a
second build (that ignored the steps from the build target), which is
also removed.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index ed73c95..a59ecdc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,7 @@
 # Uncomment this to turn on verbose mode.
 export DH_VERBOSE=1
 
-CFLAGS = -Wall -g
+CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -Wall
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -O0
@@ -59,7 +59,6 @@ ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
 	exit 1	;\
 	fi
 endif
-	dh $@
 	dh_testdir
 	dh_testroot
 	dh_prep


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#841694: dvdauthor: please make the build reproducible

2016-10-22 Thread Reiner Herrmann
Source: dvdauthor
Version: 0.7.0-1.4
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that dvdauthor could not be built reproducibly.
It doesn't use CFLAGS provided by dpkg-buildflags, which sets
-fdebug-prefix-map that prevents the absolute buildpath from being
embedded in debug symbols.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 1226611..4607ae1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,7 +12,7 @@ DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
 
-CFLAGS = -Wall -g
+export CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -Wall
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -O0


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#839647: dmucs: please make the build reproducible

2016-10-03 Thread Reiner Herrmann
Source: dmucs
Version: 0.6.1-2.1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that dmucs could not be built reproducibly.
The object files of simpleskts.a are added in random order to the
static library, and the subdirectory doesn't honour buildflags.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff -u dmucs-0.6.1/debian/rules dmucs-0.6.1/debian/rules
--- dmucs-0.6.1/debian/rules
+++ dmucs-0.6.1/debian/rules
@@ -4,6 +4,9 @@
 include /usr/share/cdbs/1/class/autotools.mk
 include /usr/share/cdbs/1/rules/dpatch.mk
 
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
 install/dmucs::
 	cp remhost addhost
 
only in patch2:
unchanged:
--- dmucs-0.6.1.orig/COSMIC/Makefile
+++ dmucs-0.6.1/COSMIC/Makefile
@@ -49,7 +49,7 @@
 EXETGT=../EXE
 
 # usual compiler stuff
-CFLAGS= -O -I./HDR
+CFLAGS+= -O -I./HDR
 LOADLIBES = ../$(LIB)
 
 # for SCO UNIX:
@@ -65,7 +65,7 @@
 all : $(LIB)
 
 $(LIB)  : $(OBJ)
-	ar r simpleskts.a *.o
+	ar r simpleskts.a $(OBJ)
 #	ranlib simpleskts.a
 #	/bin/rm -f *.o
 	@echo "finished updating simpleskts.a"


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Bug#838785: funnelweb: please make the build reproducible

2016-09-24 Thread Reiner Herrmann
Source: funnelweb
Version: 3.2-5
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 funnelweb could not be built reproducibly.
It uses a wildcard to collect object files, which are sorted differently
depending on the locale.

The attached patch fixes this by printing the files with LC_ALL set to C.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 8e4996b..d7a13e5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,7 +15,7 @@ LDFLAGS  ?= $(shell dpkg-buildflags --get LDFLAGS)
 override_dh_auto_build:
 	(cd source && \
 	 $(CC) $(CPPFLAGS) $(CFLAGS) -c *.c && \
-	 $(CC) $(CFLAGS) $(LDFLAGS) -o fw *.o)
+	 $(CC) $(CFLAGS) $(LDFLAGS) -o fw `LC_ALL=C ls *.o`)
 
 override_dh_auto_clean:
 	rm -f source/fw source/*.o


signature.asc
Description: PGP signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Re: [Reproducible-builds] libburn-1.4.4-1 suddenly became unreproducible

2016-08-27 Thread Reiner Herrmann
On Sat, Aug 27, 2016 at 08:45:35AM +0200, Thomas Schmitt wrote:
> I need a hint how to fix "captures_build_path" with libburn:
> 
>   
> https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/libburn.html
>   "If using autoconf, make sure you call ./configure via a relative
>and not absolute path."
> 
> The tests 2016-07-26 amd64 and 2016-08-13 armhf yielded reproducibility
> with the same debian package.
> So something must have changed with the test procedure which i now have
> to compensate.

Since recently we are variying the build path.

libburn is including a doxygen configuration file in /usr/share/doc.
Is this file actually useful to the user? I would suggest to drop it
from the package.

If you want to keep it, you might want to patch/remove this
line/section:
https://sources.debian.net/src/libburn/1.4.4-1/doc/doxygen.conf.in/#L57

Regards,
  Reiner


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Re: [Reproducible-builds] Bug#834993: oss4: please make the build reproducible

2016-08-21 Thread Reiner Herrmann
On Sun, Aug 21, 2016 at 01:37:47PM +0200, Reiner Herrmann wrote:
> The attached patch fixes several issues:

Sorry, forgot to attach the patch.
diff --git a/debian/control b/debian/control
index be2fd60..ebadea0 100644
--- a/debian/control
+++ b/debian/control
@@ -8,6 +8,7 @@ Uploaders: Sebastien NOEL <sebast...@twolife.org>,
Benda Xu <hero...@gentoo.org>
 Build-Depends: cdbs,
debhelper (>= 9),
+   tar (>= 1.28),
dkms [linux-any],
gawk,
libgtk2.0-dev,
diff --git a/debian/create-ma-tree.sh b/debian/create-ma-tree.sh
index 34ae919..1232e00 100644
--- a/debian/create-ma-tree.sh
+++ b/debian/create-ma-tree.sh
@@ -45,7 +45,7 @@ for i in ac97 audio midi midi_stubs mixer osscore remux sndstat uart401 vmix_cor
 	[ -d "$i" ] || continue
 	NAME="`basename $i`"
 	pushd "$i"
-	for j in `ls *.c`; do
+	for j in `LC_ALL=C ls *.c`; do
 		SOURCES="$SOURCES $j"
 		SRCCOUNT=$((SRCCOUNT + 1))
 	done
@@ -90,7 +90,7 @@ for i in kernel/drv/*; do
 	pushd $i
 	SOURCES=""
 	SRCCOUNT=0
-	for j in `ls *.c`; do
+	for j in `LC_ALL=C ls *.c`; do
 		if [ "$j" = "$NAME.c" ]; then
 			mv $j ${NAME}driver.c
 			SOURCES="$SOURCES ${NAME}driver.c"
diff --git a/debian/patches/102_use_system_txt2man.patch b/debian/patches/102_use_system_txt2man.patch
index e790a34..06d2bda 100644
--- a/debian/patches/102_use_system_txt2man.patch
+++ b/debian/patches/102_use_system_txt2man.patch
@@ -1,6 +1,11 @@
 oss-v4.2-build2006-src-gpl/setup/Linux/build.sh.orig	2012-02-18 18:53:51.707280520 +0100
-+++ oss-v4.2-build2006-src-gpl/setup/Linux/build.sh	2012-02-18 18:54:01.955280417 +0100
-@@ -8,7 +8,7 @@
+--- a/setup/Linux/build.sh
 b/setup/Linux/build.sh
+@@ -4,11 +4,11 @@
+ 
+ if gawk '' >/dev/null
+ then
+-   TXT2MAN=$SRCDIR/setup/txt2man
++   TXT2MAN=/usr/bin/txt2man
  else
 echo "No gawk found. Using lesser replacement" >&2
 cc -o txt2man origdir/setup/txt2man.c
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..b0f6ad9
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,11 @@
+--- a/setup/setupdir.sh
 b/setup/setupdir.sh
+@@ -200,7 +200,7 @@
+ 
+ touch .depend
+ 
+-if date -u +%Y%m%d%H%M > build.id.new 2>/dev/null
++if date -u +%Y%m%d%H%M -d "@${SOURCE_DATE_EPOCH:-$(date +%s)}" > build.id.new 2>/dev/null
+ then
+ 	rm -f build.id
+ 	mv build.id.new build.id
diff --git a/debian/patches/series b/debian/patches/series
index e219784..3d89d4d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -19,3 +19,4 @@
 #generic_srccconf.patch (seems completely broken to me)
 501_linux_version.patch
 502_linux_io.patch
+reproducible-build.patch
diff --git a/debian/rules b/debian/rules
index cde4f26..f2981f4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,7 +30,7 @@ stamp-build-oss4:
 ifeq ($(DEB_HOST_ARCH_OS),linux)
 	# TODO: rewrite upstream's 'build.sh' from scratch
 	cat `find $(CURDIR)/build-tree/oss-build/kernel/drv -name .devices`| grep -v '^#' \
-	| sort | grep -v '^osscore' | grep -v '^oss_audiocs' | grep -v '^oss_sadasupport' \
+	| LC_ALL=C sort | grep -v '^osscore' | grep -v '^oss_audiocs' | grep -v '^oss_sadasupport' \
 	> $(CURDIR)/build-tree/oss-build/prototype/usr/lib/oss/etc/devices.list
 
 	for n in `cat $(CURDIR)/build-tree/oss-build/prototype/usr/lib/oss/etc/devices.list | cut -f 1 | uniq` ; do \
@@ -57,7 +57,7 @@ build/oss4-source:: stamp-source-oss4
 	cp debian/copyright build-tree/modules/oss4/debian/
 	cp debian/changelog build-tree/modules/oss4/debian/
 	chmod 755 build-tree/modules/oss4/debian/rules
-	cd build-tree/ &&  tar cjf oss4.tar.bz2 modules/
+	cd build-tree/ &&  tar --mtime="@$(SOURCE_DATE_EPOCH)" --sort=name --mode=go=rX,u+rw,a-s -cjf oss4.tar.bz2 modules/
 
 build/oss4-dkms:: stamp-source-oss4
 	sed -e 's#_VERSION_#$(UPSTREAM_VERSION)#' < debian/oss4-dkms.install.in > debian/oss4-dkms.install


signature.asc
Description: PGP 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#834993: oss4: please make the build reproducible

2016-08-21 Thread Reiner Herrmann
Source: oss4
Version: 4.2-build2010-5
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale timestamps fileordering umask
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

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

The attached patch fixes several issues:
- Use system txt2man in upstream build script (build.sh), which supports
  SOURCE_DATE_EPOCH.
- Use SOURCE_DATE_EPOCH for the generated build-id.
- Sort files in modules tarball, fix permissions and timestamps.
- Fix ordering issues in some other places.

Regards,
 Reiner

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


signature.asc
Description: PGP 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#834324: libnss-ldap: please make the build reproducible

2016-08-14 Thread Reiner Herrmann
Source: libnss-ldap
Version: 265-3
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that libnss-ldap could not be built reproducibly.
It embeds the build date and username into the version string.

The attached patch removes this to make the build reproducible.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..1a09400
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,43 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Remove build user and date from version string to make build reproducible
+
+--- a/vers_string
 b/vers_string
+@@ -32,17 +32,17 @@
+ 	print $PROJECT, $SEP, $VERSION, "\n";
+ } elsif ($ARGV[0] eq "-l") {
+ 	print "static const char SGS_VERS[160] = \"";
+-	print '@(#)LIBRARY:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION, '  DEVELOPER:', $AUTHOR,  '  BUILT:', $DATE;
++	print '@(#)LIBRARY:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION;
+ 	print "\";\n";
+ } elsif ($ARGV[0] eq "-c") {
+ 	print "const char SGS_VERS[160] = \"";
+-	print '@(#)PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION, '  DEVELOPER:', $AUTHOR,  '  BUILT:', $DATE;
++	print '@(#)PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION;
+ 	print "\";\n";
+ 	print "const char VERS_NUM[10] = \"$VERSION\";\n";
+ } elsif ($ARGV[0] eq "-n") {
+ 	print "$VERSION\n";
+ } elsif ($ARGV[0] eq "-B") {
+-	print 'PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION, '  DEVELOPER:', $AUTHOR,  '  BUILT:NO DATE SET (-B used)',"\n";
++	print 'PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION,"\n";
+ } elsif ($ARGV[0] eq "-v") {
+ 	unlink($OUTFILE);
+ 	open(OUTFILE,">$OUTFILE");
+@@ -52,7 +52,7 @@
+ 		print OUTFILE "#define USE_SGS_VERS\n\n";
+ 	}
+ 	print OUTFILE "const char SGS_VERS[160] = \"";
+-	print OUTFILE '@(#)PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION, '  DEVELOPER:', $AUTHOR,  '  BUILT:', $DATE;
++	print OUTFILE '@(#)PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION;
+ 	print OUTFILE "\";\n\n";
+ 	print OUTFILE "const char VERS_NUM[10] = \"$VERSION\";\n\n";
+ 	close(OUTFILE);
+@@ -78,6 +78,6 @@
+ 	print STDERR "\tTo create a project distribution, type tarup\n";
+ 	print STDERR "\tTo commit a project, type commit [message]\n";
+ } else {
+-	print 'PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION, '  DEVELOPER:', $AUTHOR,  '  BUILT:', $DATE;
++	print 'PROGRAM:', $PROGRAM, '  PROJECT:', $PROJECT, $SEP, $VERSION;
+ 	print "\n";
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 15e2a8c..ec1b7ab 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@ fix_ldap_sessions_mem_leak.patch
 spelling-fix.patch
 glibc-2.16.patch
 fix-nsswitch-example.patch
+reproducible-build.patch


signature.asc
Description: PGP 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#834316: openocd: please make the build reproducible

2016-08-14 Thread Reiner Herrmann
Source: openocd
Version: 0.9.0-1
Severity: wishlist
Tags: patch upstream
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 openocd could not be built reproducibly.
It embeds the build date into the binary.

The attached patch strips it from the version information to get
a reproducible build.

Regards,
 Reiner

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


signature.asc
Description: PGP 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#834302: pd-flite: please make the build reproducible

2016-08-14 Thread Reiner Herrmann
Source: pd-flite
Version: 0.02.3-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that pd-flite could not be built reproducibly.
It embeds the build date and username into the binary.

The attached patch strips this to get a reproducible build.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..d533807
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,13 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date and user to get reproducible build
+
+--- a/flite.c
 b/flite.c
+@@ -48,7 +48,6 @@
+ 
+ static const char *flite_description =
+   "flite: Text-to-Speech external v" PACKAGE_VERSION " by Bryan Jurish\n"
+-  "flite: compiled on " PACKAGE_BUILD_DATE " by " PACKAGE_BUILD_USER "\n"
+   ;
+ //static char *flite_acknowledge = "flite: based on code by ";
+ //static char *flite_version = "flite: PD external v%s by Bryan Jurish";
diff --git a/debian/patches/series b/debian/patches/series
index 21011bc..93247f5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 fix-help-files-install-dir.patch
+reproducible-build.patch


signature.asc
Description: PGP 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#833176: trafficserver: please make the build reproducible

2016-08-01 Thread Reiner Herrmann
Source: trafficserver
Version: 6.1.1-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: umask username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that trafficserver could not be built reproducibly.
It embeds the build username/groupname/hostname into the binary and has
files in /etc varying with different umasks.

The attached patch uses deterministic values for user/group/hostname and
let's dh_fixperms normalize the permissions in /etc/trafficserver.
I didn't find a reason why it was excluded from dh_fixperms, but please
check if removing it from the exclude list is really okay.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/0002-reproducible-build.patch b/debian/patches/0002-reproducible-build.patch
new file mode 100644
index 000..c297b16
--- /dev/null
+++ b/debian/patches/0002-reproducible-build.patch
@@ -0,0 +1,18 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Use deterministic values for user/group/host
+
+--- a/configure.ac
 b/configure.ac
+@@ -139,9 +139,9 @@
+ #
+ # Build environment
+ #
+-build_person="`id -nu | sed -e 's///g'`"
+-build_group="`id -ng | sed -e 's///g'`"
+-build_machine="`uname -n | sed -e 's///g'`"
++build_person="root"
++build_group="root"
++build_machine="localhost"
+ AC_SUBST([build_machine])
+ AC_SUBST([build_person])
+ AC_SUBST([build_group])
diff --git a/debian/patches/series b/debian/patches/series
index 1e778d9..80d4ebb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-Use-mcx16-on-x86-platforms-only.patch
+0002-reproducible-build.patch
diff --git a/debian/rules b/debian/rules
index 3fbc0fb..3163a95 100755
--- a/debian/rules
+++ b/debian/rules
@@ -56,7 +56,7 @@ endif
 	./debian/change_config.pl debian/trafficserver/etc/trafficserver/records.config
 
 override_dh_fixperms:
-	dh_fixperms -X etc/trafficserver -X var/lib/trafficserver \
+	dh_fixperms -X var/lib/trafficserver \
 		-X var/log/trafficserver -X /var/cache/trafficserver \
 		-X var/run/trafficserver
 


signature.asc
Description: PGP 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#833070: wget: please make the build reproducible

2016-07-31 Thread Reiner Herrmann
Source: wget
Version: 1.18-2
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 wget could not be built reproducibly.
The gettext mo files contain the current date/time in metadata
(POT-Creation-Date).
This can be normalized to a deterministic value (changelog date)
by strip-nondeterminism. See attached patch.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 6c7136e..2eb2c3d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -116,6 +116,7 @@ binary-arch: build install
 	dh_installchangelogs ChangeLog
 	dh_link
 	dh_strip
+	dh_strip_nondeterminism
 	dh_compress
 	dh_fixperms
 	dh_installdeb


signature.asc
Description: PGP 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#833063: node-iscroll: please make the build reproducible

2016-07-31 Thread Reiner Herrmann
Source: node-iscroll
Version: 5.1.3+dfsg1-1
Severity: wishlist
Tags: patch upstream
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 node-iscroll could not be built reproducibly.
It embeds the current year into the copyright statement of javascript
files.

The attached patch uses the date from debian/copyright instead.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..0cd5a24
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,16 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Enable reproducible building
+ The current year is embedded into the head of javascript files.
+ Use a fixed date instead (taken from debian/copyright).
+
+--- a/build.js
 b/build.js
+@@ -5,7 +5,7 @@
+ // var hint = require("jshint").JSHINT;
+ var uglify = require('uglify-js');
+ 
+-var banner = '/*! iScroll v' + pkg.version + ' ~ (c) 2008-' + (new Date().getFullYear()) + ' Matteo Spinelli ~ http://cubiq.org/license */\n';
++var banner = '/*! iScroll v' + pkg.version + ' ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */\n';
+ 
+ var releases = {
+ 	lite: {
diff --git a/debian/patches/series b/debian/patches/series
index d0b0c5f..799d3ef 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 01_dont_use_jshint.patch
+reproducible-build.patch


signature.asc
Description: PGP 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#833056: hashcat: please make the build reproducible

2016-07-31 Thread Reiner Herrmann
Source: hashcat
Version: 3.00-3
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 hashcat could not be built reproducibly.
It embeds the current build time into the binary.

The attached patch uses a deterministic timestamp (SOURCE_DATE_EPOCH)
instead.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index caaedbb..a4526e4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,7 @@ INSTALL := install -o root -g root -m 755
 	dh $@ 
 
 override_dh_auto_build:
-	dh_auto_build -- PREFIX=/usr
+	dh_auto_build -- PREFIX=/usr COMPTIME=$(SOURCE_DATE_EPOCH)
 
 override_dh_installchangelogs:
 	dh_installchangelogs docs/changes.txt


signature.asc
Description: PGP 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#831972: aboot: please make the build reproducible

2016-07-20 Thread Reiner Herrmann
Source: aboot
Version: 1.0~pre20040408-4
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps locale
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that aboot could not be built reproducibly.
It has a copy of the docbook2man-de-spec.pl script from docbook-utils,
which doesn't support SOURCE_DATE_EPOCH yet, so the timestamp
embedded into manpages varies with locale and build time.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/doc/man/de/docbook2man-de-spec.pl b/doc/man/de/docbook2man-de-spec.pl
index 2eed901..d52b26a 100644
--- a/doc/man/de/docbook2man-de-spec.pl
+++ b/doc/man/de/docbook2man-de-spec.pl
@@ -78,6 +78,7 @@ Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 use SGMLS;			# Use the SGMLS package.
 use SGMLS::Output;		# Use stack-based output.
 use SGMLS::Refs;
+use POSIX qw(strftime setlocale LC_TIME);
 
 
 
@@ -93,6 +94,10 @@ $blank_xrefs = 0;
 
 $default_sect = "1";
 $default_date = `date "+%d %B %Y"`;   # L10N
+if ($ENV{SOURCE_DATE_EPOCH}) {
+setlocale(LC_TIME, "C");
+$default_date = strftime("%d %B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time));
+}
 
 while (@ARGV) {
 	my $arg = shift @ARGV;


signature.asc
Description: PGP 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#830282: dh-ocaml: please make the build reproducible

2016-07-07 Thread Reiner Herrmann
Source: dh-ocaml
Version: 1.0.10
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 dh-ocaml could not be built reproducibly.
The documentation generated with lyxn by dumping HTML files differs
depending on the configured locale.

The attached patch fixes this by generating the files with the C locale.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/policy/Makefile b/policy/Makefile
index 123ab91..b59b799 100644
--- a/policy/Makefile
+++ b/policy/Makefile
@@ -18,7 +18,7 @@ check: $(patsubst %.xml,%.check,$(XMLFILES))
 	touch $@
 
 %.txt: %.html
-	lynx -nolist -dump $< > $@
+	LC_ALL=C.UTF-8 lynx -nolist -dump $< > $@
 
 %.html: %.xml $(XMLFILES) check 
 	xsltproc --xinclude --nonet -o $@ \


signature.asc
Description: 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#830259: bsdmainutils: lorder orders symbols differently depending on locale

2016-07-07 Thread Reiner Herrmann
Source: bsdmainutils
Version: 9.0.10
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale toolchain
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that 'lorder' from bsdmainutils orders symbols differently depending on
the used locale.

The attached patch uses the C locale for sorting/joining the symbols to
allow reproducible builds of packages using lorder.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/deterministic-order.patch b/debian/patches/deterministic-order.patch
new file mode 100644
index 000..7a0f4a6
--- /dev/null
+++ b/debian/patches/deterministic-order.patch
@@ -0,0 +1,17 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Use C locale for sorting/joining symbols
+ Or else the order is different under different locales
+
+--- a/usr.bin/lorder/lorder.sh
 b/usr.bin/lorder/lorder.sh
+@@ -75,7 +75,7 @@
+ 
+ # sort symbols and references on the first field (the symbol)
+ # join on that field, and print out the file names (dependencies).
+-sort -k 2 -o $R $R
+-sort -k 2 -o $S $S
+-join -j 2 -o 1.1,2.1 $R $S
++LC_ALL=C sort -k 2 -o $R $R
++LC_ALL=C sort -k 2 -o $S $S
++LC_ALL=C join -j 2 -o 1.1,2.1 $R $S
+ rm -f $R $S
diff --git a/debian/patches/series b/debian/patches/series
index 87c6dae..6a7101d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+deterministic-order.patch
 calendar.diff
 calendar_wcs.diff
 calendar_weekend.diff
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

[Reproducible-builds] Bug#829769: netxx: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: netxx
Version: 0.3.2-2
Severity: wishlist
Tags: patch upstream
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 netxx could not be built reproducibly.
It embeds a timestamps into a script.

The attached patch removes it.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/tools/genconfig b/tools/genconfig
index 1e8de23..a217627 100755
--- a/tools/genconfig
+++ b/tools/genconfig
@@ -128,7 +128,7 @@ print <

[Reproducible-builds] Bug#829765: mrd6: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: mrd6
Version: 0.9.6-12
Severity: wishlist
Tags: patch upstream
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 mrd6 could not be built reproducibly.
It embeds the build date into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/0015-reproducible-build.patch b/debian/patches/0015-reproducible-build.patch
new file mode 100644
index 000..3e97034
--- /dev/null
+++ b/debian/patches/0015-reproducible-build.patch
@@ -0,0 +1,32 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date to enable reproducible building
+
+--- a/src/Makefile
 b/src/Makefile
+@@ -179,7 +179,7 @@
+ $(MRD_VERSION_CPP): $(SOURCES) Makefile Makefile.options
+ 	@set -e; mkdir -p $(dir $@); \
+ 		echo '/* This file is automatically generated */' > $(MRD_VERSION_CPP); \
+-		echo 'const char *BuildDate = "$(NOW)";' >> $(MRD_VERSION_CPP)
++		echo 'const char *BuildDate = "unknown";' >> $(MRD_VERSION_CPP)
+ 
+ $(MODULES_CPP): Makefile Makefile.options
+ 	@set -e; mkdir -p $(dir $@); \
+--- a/src/mrd.cpp
 b/src/mrd.cpp
+@@ -74,7 +74,6 @@
+ 
+ mrd *g_mrd = 0;
+ 
+-extern const char *BuildDate;
+ static const char *VersionInfo = "mrd6 0.9.6 ($Rev: 1711 $)";
+ 
+ static const char *defaultconffiles[] = {
+@@ -2333,7 +2332,6 @@
+ 
+ void mrd::show_base_info(base_stream ) const {
+ 	out.xprintf("Version: %s\n", VersionInfo);
+-	out.xprintf("Build date: %s\n", BuildDate);
+ }
+ 
+ bool mrd::show_info(base_stream , const std::vector ) {
diff --git a/debian/patches/series b/debian/patches/series
index 0382f41..b9ad71b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,3 +12,4 @@
 0012-Always-allow-flags-to-be-set-from-environment.patch
 0013-Interpret-syslog-buffer-string-as-string-only.patch
 0014-Correctly-detect-and-enable-new-interfaces.patch
+0015-reproducible-build.patch


signature.asc
Description: 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#829762: modglue: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: modglue
Version: 1.17-2.4
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that modglue could not be built reproducibly.
It embeds the build date into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/02_reproducible_build.patch b/debian/patches/02_reproducible_build.patch
new file mode 100644
index 000..31b491a
--- /dev/null
+++ b/debian/patches/02_reproducible_build.patch
@@ -0,0 +1,32 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date and hostname to enable reproducible building
+
+--- a/src/Makefile.in
 b/src/Makefile.in
+@@ -21,8 +21,6 @@
+ IPHASE = ${LIBTOOL} --mode=install @INSTALL@
+ FPHASE = ${LIBTOOL} --mode=finish @prefix@/@libdir@
+ 
+-TIMESTAMP = -D"DATETIME=\"`date | sed -e 's/  / /'`\"" -DHOSTNAME=\"`hostname`\"
+-
+ all: library tests tools
+ 
+ TOOLS  = ptywrap isatty prompt
+--- a/src/prompt.cc
 b/src/prompt.cc
+@@ -392,12 +392,11 @@
+ int main(int argc, char **argv)
+ 	{
+ 	if(argc==1) {
+-		cerr << "prompt (";
++		cerr << "prompt";
+ #ifdef STATICBUILD
+-		cerr << "static, ";
++		cerr << " (static)";
+ #endif
+-		cerr << "built on " << DATETIME << /* " on " << HOSTNAME << */ ")" << std::endl
+-			  << "Copyright (C) 2001-2006  Kasper Peeters <kasper.peet...@aei.mpg.de>" << endl << endl
++		cerr  << "Copyright (C) 2001-2006  Kasper Peeters <kasper.peet...@aei.mpg.de>" << endl << endl
+ 			  << "Usage: prompt [program] [args]" << endl;
+ 		exit(-1);
+ 		}
diff --git a/debian/patches/series b/debian/patches/series
index 69e2c3e..839ab18 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 01_fix_libs_in_linking_tests
+02_reproducible_build.patch


signature.asc
Description: 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#829761: epic5: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: epic5
Version: 1.1.11-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that epic5 could not be built reproducibly.
It embeds the build date/time, username and hostname into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..41960c9
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,17 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip non-deterministic data to make build reproducible
+
+--- a/source/info.c.sh.in
 b/source/info.c.sh.in
+@@ -25,10 +25,7 @@
+ #define USER "$comp_user"
+ #endif
+ 
+-const char *compile_user = "$comp_user";
+-const char *compile_host = "$comp_host";
+-const char *compile_time = "$comp_time";
+ const char *info_c_sum   = "$info_c_sum";
+-const char *compile_info = "Compiled by " USER "@$comp_host on $comp_time";
++const char *compile_info = "Compiled by Debian";
+ 
+ __E__O__F__
diff --git a/debian/patches/series b/debian/patches/series
index 212dec7..59cb0a3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 config.patch
 manual.patch
 path.patch
+reproducible-build.patch


signature.asc
Description: 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#829758: epic4: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: epic4
Version: 1:2.10.5-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that epic4 could not be built reproducibly.
It embeds the build time, username and hostname into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/03_reproducible_build.patch b/debian/patches/03_reproducible_build.patch
new file mode 100644
index 000..41960c9
--- /dev/null
+++ b/debian/patches/03_reproducible_build.patch
@@ -0,0 +1,17 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip non-deterministic data to make build reproducible
+
+--- a/source/info.c.sh.in
 b/source/info.c.sh.in
+@@ -25,10 +25,7 @@
+ #define USER "$comp_user"
+ #endif
+ 
+-const char *compile_user = "$comp_user";
+-const char *compile_host = "$comp_host";
+-const char *compile_time = "$comp_time";
+ const char *info_c_sum   = "$info_c_sum";
+-const char *compile_info = "Compiled by " USER "@$comp_host on $comp_time";
++const char *compile_info = "Compiled by Debian";
+ 
+ __E__O__F__
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..c7a15ff
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+03_reproducible_build.patch


signature.asc
Description: 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#829755: elvis-tiny: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: elvis-tiny
Version: 1.4-23
Severity: wishlist
Tags: patch upstream
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 elvis-tiny could not be built reproducibly.
It embeds the build date/time into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..54f0158
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,15 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date to enable reproducible building
+ If DATE is not defined, the C file doesn't embed it, so no
+ change is required there.
+
+--- a/Makefile.mix
 b/Makefile.mix
+@@ -49,7 +49,6 @@
+ 	-fsigned-char $(EXTRA_CFLAGS)
+ OF=	-o 
+ RF=	-c
+-DATE=	-DDATE=\'\"`date`\"\'
+ EVAL=	eval 
+ PROGS=	elvis
+ CHMEM=	
diff --git a/debian/patches/series b/debian/patches/series
index def6f80..125cff9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,4 @@ patch-range-segfault.diff
 patch-bug-258640.diff
 patch-siglongjmp.diff
 patch-fix-resize.diff
+reproducible-build.patch


signature.asc
Description: 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#829754: bibclean: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: bibclean
Version: 2.11.4.1-4
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that bibclean could not be built reproducibly.
It embeds the username and hostname into the binary, and a timestamp
into a dvi file.

The attached patch this by stripping non-deterministic data and setting
FORCE_SOURCE_DATE, which tells texlive to override the timestamps in the
dvi file with SOURCE_DATE_EPOCH.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..6d32ce8
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,30 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip non-deterministic data to make build reproducible
+
+--- a/option.c
 b/option.c
+@@ -567,24 +567,6 @@
+ #if defined(HOST) || defined(USER) || defined(__DATE__) || defined(__TIME__)
+ 	"Compiled",
+ 
+-#if defined(USER)
+-	" by <", USER,
+-
+-#if defined(HOST)
+-	"@", HOST,
+-#endif /* defined(HOST) */
+-
+-	">",
+-#endif /* defined(USER) */
+-
+-#if defined(__DATE__)
+-	" on ", __DATE__,
+-#endif /* defined(__DATE__) */
+-
+-#if defined(__TIME__)
+-	" ", __TIME__,
+-#endif /* defined(__TIME__) */
+-
+ #if defined(HAVE_PATTERNS)
+ 	"\nwith native pattern matching",
+ #endif /* defined(HAVE_PATTERNS) */
diff --git a/debian/patches/series b/debian/patches/series
index b4e2b79..4305c2c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ make.patch
 source.patch
 man.patch
 bibclean.ini.patch
+reproducible-build.patch
diff --git a/debian/rules b/debian/rules
index 23a3ba1..6da74d6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,6 +9,8 @@
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
+export FORCE_SOURCE_DATE=1
+
 CFLAGS = -Wall -g
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -O0


signature.asc
Description: 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#829729: pchar: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: pchar
Version: 1.5-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that pchar could not be built reproducibly.
It embeds the build date/time and hostname into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..13375f6
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,32 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date and hostname to enable reproducible building
+
+--- a/Makefile.in
 b/Makefile.in
+@@ -183,11 +183,9 @@
+ 	@echo '"WARRANTY OF ANY KIND, EXPRESS OR IMPLIED."' >> $@
+ 	@${ECHOQNL} >> $@
+ 	@echo ';' >> $@
+-	@echo "static char build[] = \"Built for $(host) by `hostname` on `date`\";" >> $@
+ 	@echo "static char dflags[] = \"$(DFLAGS)\";" >> $@
+ 	@echo "char *Version = version;" >> $@
+ 	@echo "char *Copyright = copyright;" >> $@
+-	@echo "char *Build = build;" >> $@
+ 	@echo "char *DFlags = dflags;" >> $@
+ 
+ FORCE:
+--- a/main.cc
 b/main.cc
+@@ -127,11 +127,10 @@
+ //
+ void VersionInfo()
+ {
+-extern char *Version, *Copyright, *Build, *DFlags;
++extern char *Version, *Copyright, *DFlags;
+ 
+ fprintf(stderr, "%s\n", Version);
+ fprintf(stderr, "%s\n", Copyright);
+-fprintf(stderr, "%s\n", Build);
+ fprintf(stderr, "Compilation flags: %s\n", DFlags);
+ 
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 71f1aa3..6cc8403 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+reproducible-build.patch
 cxx-typo-getifinfo.patch
 cxx-const-charp-warning.patch
 destdir-install.patch


signature.asc
Description: 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#829721: remote-tty: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: remote-tty
Version: 4.0-13
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that remote-tty could not be built reproducibly.
It embeds the build date, username and hostname into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/Makefile b/Makefile
index 7e30428..b0b1c91 100644
--- a/Makefile
+++ b/Makefile
@@ -119,6 +119,6 @@ version.c: Makefile
 	  echo "char Copyright[] ="; \
 	  echo '  "Copyright 1996,1997,2001 by Internet Software Consortium, Inc.";'; \
 	  echo "char Version[] ="; \
-	  echo '  "Version $(VERSION) ('`whoami`'@'`hostname`' '`date`')";'; \
+	  echo '  "Version $(VERSION)";'; \
 	  echo "#endif"; \
 	) >version.c


signature.asc
Description: 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#829717: savi: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: savi
Version: 1.4.9-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that savi could not be built reproducibly.
It embeds the build date, username and hostname into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..78c300b
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date, username and hostname to enable reproducible building
+
+--- a/src/Makefile
 b/src/Makefile
+@@ -123,7 +123,7 @@
+ 
+ version.c: FORCE
+ # echo -E may be useful on Linux if output is over multiple lines
+-	@echo "char *Version = \"SaVi was compiled with 'make ARCH=$(ARCH)'$(LINEEND)\\nVersion" `cat ../VERSION`"$(LINEEND)\\nBuilt by $(USER)@$(HOST)$(HOSTNAME), `date`\";" > ./version.c
++	@echo "char *Version = \"SaVi was compiled with 'make ARCH=$(ARCH)'$(LINEEND)\\nVersion" `cat ../VERSION`"\";" > ./version.c
+ 
+ 
+ objs: $(OBJS)
diff --git a/debian/patches/series b/debian/patches/series
index 9aa50f0..8e88990 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 enable_zlib.diff
 share_lib_div.diff
+reproducible-build.patch


signature.asc
Description: 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#829715: snake4: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: snake4
Version: 1.0.14-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that snake4 could not be built reproducibly.
It embeds the build date and user into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..b798b5d
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,26 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date/user to enable reproducible building
+
+--- a/Makefile
 b/Makefile
+@@ -57,8 +57,6 @@
+ SCOREBASEFILE	= $(PROG).score
+ SCOREFILE	= $(INSTLIBDIR)/$(SCOREBASEFILE)
+ DEFINES		= -DVERSION=\"$(VERSION)\" \
+-		  "-DCOMPILED_DATE=\"$(COMPILED_DATE)\"" \
+-		  "-DCOMPILED_BY=\"$(COMPILED_BY)\"" \
+ 		  -DSCOREFILE=\"$(SCOREFILE)\" \
+ 		  -DXK_MISCELLANY -DXK_LATIN1 
+ 
+--- a/snake4.c
 b/snake4.c
+@@ -31,8 +31,7 @@
+ version(void)
+ {
+ printf(
+-  "snake4 " VERSION ", by Sverre H. Huseby "
+-  "(compiled " COMPILED_DATE " by " COMPILED_BY ")\n"
++  "snake4 " VERSION ", by Sverre H. Huseby\n"
+ );
+ exit(0);
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 9641816..0c6d4f8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 useless-linkage.patch
 hardening.patch
 standard-install-directories.patch
+reproducible-build.patch


signature.asc
Description: 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#829714: tcptrace: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: tcptrace
Version: 6.6.7-4.1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that tcptrace could not be built reproducibly.
It embeds the current build date/time, the username and hostname into
the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/Makefile.in b/Makefile.in
index 03e1cd9..9bc3957 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -200,8 +200,7 @@ tcptrace: ${OFILES}
 # If you have problems getting "whoami", "hostname", or "date" to run on
 # your machine, just hack in a quick string below in place of the command.
 version.o: ${CFILES} Makefile
-	${CC} ${CFLAGS} -o version.o -c $(srcdir)/version.c \
-	-DBUILT_USER="\"`whoami`\"" -DBUILT_HOST="\"`hostname`\"" -DBUILT_DATE="\"`date`\""
+	${CC} ${CFLAGS} -o version.o -c $(srcdir)/version.c
 
 #
 # special rules for scanner/parser
diff --git a/tcptrace.c b/tcptrace.c
index 7cd7519..4fd23df 100644
--- a/tcptrace.c
+++ b/tcptrace.c
@@ -658,8 +658,6 @@ static void
 Version(void)
 {
 fprintf(stderr,"Version: %s\n", tcptrace_version);
-fprintf(stderr,"  Compiled by '%s' at '%s' on machine '%s'\n",
-	built_bywhom, built_when, built_where);
 }
 
 
diff --git a/version.c b/version.c
index e8715fc..68fd3f0 100644
--- a/version.c
+++ b/version.c
@@ -57,9 +57,3 @@ static char const GCC_UNUSED rcsid_version[] =
 "@(#)$Header: /usr/local/cvs/tcptrace/version.c,v 5.4 2003/11/19 14:38:06 sdo Exp $";
 
 
-/* build information */
-/* constants filled in when version.c is compiled */
-char *built_bywhom = BUILT_USER;
-char *built_when = BUILT_DATE;
-char *built_where = BUILT_HOST;
-
diff --git a/version.h b/version.h
index 4f95979..705760a 100644
--- a/version.h
+++ b/version.h
@@ -67,9 +67,3 @@ static char const GCC_UNUSED rcsid_version[] =
 /* the string to print */
 #define VERSION  "Ostermann's tcptrace -- version " VERSION_NUM " -- " VERSION_DATE
 
-
-/* build information */
-/* constants filled in when version.c is compiled */
-extern char *built_bywhom;
-extern char *built_when;
-extern char *built_where;


signature.asc
Description: 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#829713: tsdecrypt: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: tsdecrypt
Version: 10.0-2
Severity: wishlist
Tags: patch upstream
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 tsdecrypt could not be built reproducibly.
It embeds the current build date/time into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..173c962
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,26 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: strip build date to enable reproducible building
+
+--- a/Makefile
 b/Makefile
+@@ -19,8 +19,7 @@
+  -W -Wall -Wextra \
+  -Wshadow -Wformat-security -Wstrict-prototypes
+ 
+-DEFS = -DBUILD_ID=\"$(BUILD_ID)\" \
+- -DVERSION=\"$(VERSION)\" -DGIT_VER=\"$(GIT_VER)\"
++DEFS = -DVERSION=\"$(VERSION)\" -DGIT_VER=\"$(GIT_VER)\"
+ DEFS += -D_FILE_OFFSET_BITS=64
+ 
+ PREFIX ?= /usr/local
+--- a/tsdecrypt.c
 b/tsdecrypt.c
+@@ -40,7 +40,7 @@
+ #define FIRST_REPORT_SEC 3
+ 
+ #define PROGRAM_NAME "tsdecrypt"
+-static const char *program_id = PROGRAM_NAME " v" VERSION " (" GIT_VER ", build " BUILD_ID " " DLIB ")";
++static const char *program_id = PROGRAM_NAME " v" VERSION " (" GIT_VER ", " DLIB ")";
+ 
+ int keep_running = 1;
+ static FILE *log_file = NULL;
diff --git a/debian/patches/series b/debian/patches/series
index 4ef81ac..7e6562d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 avoid-inappropriate-compiler-flags
+reproducible-build.patch


signature.asc
Description: 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#829710: zorp: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: zorp
Version: 3.9.5-7.1
Severity: wishlist
Tags: patch upstream
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 zorp could not be built reproducibly.
It embeds the current build date/time into the binary.

The attached patch strips this to enable reproducible building.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..81d6219
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,34 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip embedded compile/config date to enable reproducible building
+
+--- a/configure.ac
 b/configure.ac
+@@ -450,8 +450,6 @@
+ AC_SUBST(SOCK_LIBS)
+ 
+ 
+-date=`date +%Y/%m/%d`
+-AC_DEFINE_UNQUOTED(ZORP_CONFIG_DATE, "$date", [Configuration date])
+ 
+ TESTCASES=""
+ dnl for mod in $MODULE_DIRS; do
+--- a/zorp/main.c
 b/zorp/main.c
+@@ -191,8 +191,6 @@
+ {
+   printf("Zorp %s (%s)\n"
+  "Revision: %s\n"
+- "Compile-Date: %s %s\n"
+- "Config-Date: %s\n"
+  "Trace: %s\n"
+  "Debug: %s\n"
+  "IPOptions: %s\n"
+@@ -200,8 +198,6 @@
+  , 
+  BROCHURE_VERSION, VERSION,
+  ZORP_SOURCE_REVISION,
+- __DATE__, __TIME__,
+- ZORP_CONFIG_DATE,
+  ON_OFF_STR(ENABLE_TRACE),
+  ON_OFF_STR(ENABLE_DEBUG),
+  ON_OFF_STR(ENABLE_IPOPTIONS),
diff --git a/debian/patches/series b/debian/patches/series
index 0b162a1..6bd156d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,4 @@
 0011-tests-Makefile.am-Removed-kzorp-directory-too-becaus.patch
 0012-Makefile.am-Removed-test-directory-because-of-an-err.patch
 remove-ssl3.patch
+reproducible-build.patch


signature.asc
Description: 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#829708: zim: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: zim
Version: 0.65-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps locale fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that zim could not be built reproducibly.
It embeds a locale-dependent timestamp into a manpage and doesn't sort a
list of plugins embedded in a Python file.

The attached patch fixes those issues.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..fb32272
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,40 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Enable reproducible building
+ - Honour SOURCE_DATE_EPOCH for manpage timestamp, if it is defined
+ - Use C locale for embedded time
+ - Sort list of plugins
+
+--- a/makeman.py
 b/makeman.py
+@@ -6,7 +6,8 @@
+ 
+ import os
+ 
+-from time import strftime
++from time import strftime, gmtime, time
++from locale import setlocale, LC_TIME
+ 
+ from zim import __version__, __url__, \
+ 	__author__, __copyright__, __license__
+@@ -42,8 +43,9 @@
+ 		os.mkdir('man')
+ 	except OSError:
+ 		pass # dir already exists
++	setlocale(LC_TIME, "C")
+ 	manpage = open('man/zim.1', 'w')
+-	manpage.write('.TH ZIM "1" "%s" "zim %s" "User Commands"\n' % (strftime('%B %Y'), __version__))
++	manpage.write('.TH ZIM "1" "%s" "zim %s" "User Commands"\n' % (strftime('%B %Y', gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time(), __version__))
+ 	manpage.write('.SH NAME\nzim \\- %s\n\n' % tagline)
+ 	manpage.write('.SH SYNOPSIS\n%s\n' % HelpCommand.usagehelp.replace('-', r'\-'))
+ 	manpage.write('.SH DESCRIPTION\n%s\n' % about)
+--- a/setup.py
 b/setup.py
+@@ -290,7 +290,7 @@
+ 
+ 		for i, line in enumerate(lines):
+ 			if line.startswith('\t\tplugins = set('):
+-lines[i] = '\t\tplugins = set(%r) # DEFAULT PLUGINS COMPILED IN BY SETUP.PY\n' % plugins
++lines[i] = '\t\tplugins = set(%r) # DEFAULT PLUGINS COMPILED IN BY SETUP.PY\n' % sorted(plugins)
+ break
+ 		else:
+ 			assert False, 'Missed line for plugin list'
diff --git a/debian/patches/series b/debian/patches/series
index 2c4455a..f13156f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 reload-pages.patch
+reproducible-build.patch


signature.asc
Description: 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#829705: zssh: please make the build reproducible

2016-07-05 Thread Reiner Herrmann
Source: zssh
Version: 1.5c.debian.1-3.2
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 zssh could not be built reproducibly.
It embeds the current date/time into the version string.

The attached patch strips it to make the build reproducible.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..5041306
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip build date from version string to enable reproducible building
+
+--- a/Makefile.in
 b/Makefile.in
+@@ -110,7 +110,7 @@
+ 
+ 
+ version.h : force
+-	echo '#define ZSSH_VERSION "' `cat VERSION` ', built' `date` '"' > version.h
++	echo '#define ZSSH_VERSION "' `cat VERSION` '"' > version.h
+ 
+ fun.h : $(SRC)
+ 	protos -o fun.h $(SRC)
diff --git a/debian/patches/series b/debian/patches/series
index 87e9a37..d64c299 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
 04_GNU_openpty.patch
 05_strip.patch
 fix_CPPFunction.diff
+reproducible-build.patch


signature.asc
Description: 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#829365: pdl: please make the build reproducible

2016-07-02 Thread Reiner Herrmann
Source: pdl
Version: 1:2.016-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that pdl could not be built reproducibly.
In several files the order is non-deterministic.

The attached patch fixes the issues I have found so far.
To be reproducible this also requires the pdl patch from #829323
and there is another issue in ExtUtils::ParseXS remaining, which
is still uninvestigated.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..ba877fb
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,102 @@
+--- a/Basic/Core/pdlcore.h.PL
 b/Basic/Core/pdlcore.h.PL
+@@ -148,7 +148,7 @@
+ 
+ !NO!SUBS!
+ 
+-for my $in ( keys %PDL_DATATYPES ) {
++for my $in ( sort keys %PDL_DATATYPES ) {
+ 
+   (my $type = $PDL_DATATYPES{$in}) =~ s/^PDL_//;
+   print OUT <<"!WITH!SUBS!";
+@@ -351,7 +351,7 @@
+ # file
+ require "Types.pm";  # ie PDL::Types
+ 
+-for (keys %PDL::Types::typehash) {
++for (sort keys %PDL::Types::typehash) {
+my $ctype = $PDL::Types::typehash{$_}{ctype};
+my $ppsym = $PDL::Types::typehash{$_}{ppsym};
+ 
+--- a/Basic/Slices/slices.pd
 b/Basic/Slices/slices.pd
+@@ -2899,7 +2899,7 @@
+   switch( p->datatype ) {
+ KLUDGE
+ 
+-for my $type(keys %PDL::Types::typehash) {
++for my $type(sort keys %PDL::Types::typehash) {
+ $sliceb_data_kludge .=
+ "case $type: nn = *( ($PDL::Types::typehash{$type}->{realctype} *)(p->data) ); break;\n";
+ }
+--- a/Basic/Ufunc/ufunc.pd
 b/Basic/Ufunc/ufunc.pd
+@@ -126,7 +126,7 @@
+  prodover => { name => 'product', op => '*=', init => 1, },
+  );
+ 
+-foreach my $func ( keys %over ) {
++foreach my $func ( sort keys %over ) {
+ 
+ # creates $func and cumu$func functions
+ # and d$func and dcumu$func functions, which
+@@ -243,7 +243,7 @@
+ 
+  );
+ 
+-foreach my $func ( keys %over ) {
++foreach my $func ( sort keys %over ) {
+ 
+ my $def   = $over{$func}{def};
+ my $txt   = $over{$func}{txt};
+@@ -438,7 +438,7 @@
+ # note: we export them to the PDL Core structure for use in
+ #   other modules (eg Image2D)
+ 
+-for (keys %PDL::Types::typehash) {
++for (sort keys %PDL::Types::typehash) {
+ my $ctype = $PDL::Types::typehash{$_}{ctype};
+ my $ppsym = $PDL::Types::typehash{$_}{ppsym};
+ 
+--- a/Lib/Image2D/image2d.pd
 b/Lib/Image2D/image2d.pd
+@@ -137,7 +137,7 @@
+ 	'pnpolyfill_pp' => {'pars' => '[o,nc] a(m,n); ps(k,l); int col()', 'special' => 'if(c) { $a() = $col(); }'}
+ );
+ 
+-for my $name (keys %pnpolyFields) {
++for my $name (sort keys %pnpolyFields) {
+ 	pp_def($name,
+ 		HandleBad => 0,
+ 		PMFunc => '',
+@@ -193,7 +193,7 @@
+ 
+ ');
+ 
+-for (keys %PDL::Types::typehash) {
++for (sort keys %PDL::Types::typehash) {
+ my $ctype = $PDL::Types::typehash{$_}{ctype};
+ my $ppsym = $PDL::Types::typehash{$_}{ppsym};
+ 
+--- a/Lib/Slatec/slatec.pd
 b/Lib/Slatec/slatec.pd
+@@ -375,7 +375,7 @@
+ my @talts = map { 
+   defined $ftypes{$_} or die "FTYPE $_ NOT THERE\n";
+   [$ftypes{$_},$fnames->{$_}] 
+-} keys %$fnames;
++} sort keys %$fnames;
+ 
+ my $func = "\$T".(join '',map {$_->[0]} @talts) . "(" . 
+   (join ',',map {$_->[1].$uscore} @talts).")";
+--- a/IO/HDF/buildfunc.pm
 b/IO/HDF/buildfunc.pm
+@@ -82,7 +82,7 @@
+ # Add the OUTPUT section:
+ $xsout .= "OUTPUT:\n";
+ $xsout .= "\tRETVAL\n";
+-foreach my $var ( keys %$output ) 
++foreach my $var ( sort keys %$output ) 
+ {
+ $xsout .= "\t$var\n";
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 1e2152a..3dc3319 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@ manpage-has-bad-whatis-entry.patch
 pdl-ldflags.patch
 absolute-doc-paths.patch
 spelling-errors2.patch
+reproducible-build.patch


signature.asc
Description: 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#829323: pdl: please generated sorted output

2016-07-02 Thread Reiner Herrmann
Source: pdl
Version: 1:2.016-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness toolchain
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that pdl creates unsorted output.

The attached patch fixes this.
This is required to make some packages using pdl reproducible.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/series b/debian/patches/series
index 1e2152a..181e361 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@ manpage-has-bad-whatis-entry.patch
 pdl-ldflags.patch
 absolute-doc-paths.patch
 spelling-errors2.patch
+sorted_output.patch
diff --git a/debian/patches/sorted_output.patch b/debian/patches/sorted_output.patch
new file mode 100644
index 000..41be8e2
--- /dev/null
+++ b/debian/patches/sorted_output.patch
@@ -0,0 +1,52 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort output to make generated code reproducible
+
+--- a/Basic/Gen/PP.pm
 b/Basic/Gen/PP.pm
+@@ -2616,7 +2616,7 @@
+ 	my($parnames,$parobjs,$dimobjs,$havethreading) = @_;
+ 	my $str = ($havethreading?"pdl_thread __pdlthread; ":"").
+ 	  (join '',map {$parobjs->{$_}->get_incdecls} @$parnames).
+-	(join '',map {$_->get_decldim} values %$dimobjs);
++	(join '',sort map {$_->get_decldim} values %$dimobjs);
+ 	return ($str,undef);
+ }
+ 
+@@ -2627,7 +2627,7 @@
+ 	 : "").
+ 	 (join '',map {$parobjs->{$_}->get_incdecl_copy(sub{"\$PRIV($_[0])"},
+ 	 		sub{"$copyname->$_[0]"})} @$parnames).
+-	 (join '',map {$_->get_copydim(sub{"\$PRIV($_[0])"},
++	 (join '',sort map {$_->get_copydim(sub{"\$PRIV($_[0])"},
+ 		sub{"$copyname->$_[0]"})} values %$dimobjs);
+ 
+ }
+@@ -2790,7 +2790,7 @@
+ my $nn = $#$pnames;
+ my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
+ $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
+-$str .= join '',map {$_->get_initdim."\n"} values %$dobjs;
++$str .= join '',sort map {$_->get_initdim."\n"} values %$dobjs;
+ 
+ # if FlagCreat is NOT true, then we set __creating[] to 0
+ # and we can use this knowledge below, and in hdrcheck()
+--- a/Basic/Gen/PP/PDLCode.pm
 b/Basic/Gen/PP/PDLCode.pm
+@@ -75,7 +75,7 @@
+ Name => $name,
+ }, $type;
+ 
+-my $inccode = join '',map {$_->get_incregisters();} (values %{$this->{ParObjs}});
++my $inccode = join '',sort map {$_->get_incregisters();} (values %{$this->{ParObjs}});
+ 
+ # First, separate the code into an array of C fragments (strings),
+ # variable references (strings starting with $) and
+@@ -165,7 +165,7 @@
+ 
+ # Then, in this form, put it together what we want the code to actually do.
+ print "SIZEPRIVS: ",(join ',',%$sizeprivs),"\n" if $::PP_VERBOSE;
+-$this->{Code} = "{".(join '',values %$sizeprivs).
++$this->{Code} = "{".(join '',sort values %$sizeprivs).
+$coderef->get_str($this,[])
+."}";
+ $this->{Code};


signature.asc
Description: 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#829261: passwordsafe: please make the build reproducible

2016-07-01 Thread Reiner Herrmann
Source: passwordsafe
Version: 0.98.1+dfsg-3
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale timestamps
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that passwordsafe could not be built reproducibly.
It embeds information from the build process into extra fields of help
zip files and writes C++ files in a locale-dependent way.

The attached patch fixes that by preventing extra fields be stored in
zip files and by using the default Perl-behavior for sorting keys.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..d475f68
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,32 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Make the build reproducible
+ - strip extra fields from zip file containg help files
+ - don't honour locale in rc2cpp.pl, or else keys written
+   into generated cpp source file will be sorted differently
+   under different locales.
+
+--- a/Misc/rc2cpp.pl
 b/Misc/rc2cpp.pl
+@@ -18,7 +18,6 @@
+ 
+ use strict;
+ use warnings;
+-use locale;
+ use File::Basename;
+ 
+ sub usage {
+--- a/help/Makefile.linux
 b/help/Makefile.linux
+@@ -6,10 +6,10 @@
+ all: default $(LANGS)
+ 
+ default:
+-	@cd default ; $(ZIP) -qr ../helpEN ./*
++	@cd default ; $(ZIP) -Xqr ../helpEN ./*
+ 
+ $(LANGS):
+-	@cd $(BASEDIRNAME)$@ ; $(ZIP) -qr ../help$@ ./*
++	@cd $(BASEDIRNAME)$@ ; $(ZIP) -Xqr ../help$@ ./*
+ 
+ clean:
+ 	$(RM) *.zip
diff --git a/debian/patches/series b/debian/patches/series
index 9e5563a..c8fc7a6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ edit_paths
 version_fix
 gmtime_fix
 fix_link
+reproducible-build.patch


signature.asc
Description: 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#829249: ncftp: please make the build reproducible

2016-07-01 Thread Reiner Herrmann
Source: ncftp
Version: 2:3.2.5-1.1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: uname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that ncftp could not be built reproducibly.
It embeds the current kernel verion (uname) into the binary.

The attached patch removes that.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/ncftp/main.c b/ncftp/main.c
index a7fccac..b27a94e 100644
--- a/ncftp/main.c
+++ b/ncftp/main.c
@@ -62,7 +62,7 @@ static void
 Usage(void)
 {
 	FILE *fp;
-#ifdef UNAME
+#if 0
 	char s[80];
 #endif
 
@@ -76,7 +76,7 @@ Usage(void)
   -F Dump a sample $HOME/.ncftp/firewall prefs file to stdout and exit.\n");
 
 	(void) fprintf(fp, "\nProgram version:  %s\nLibrary version:  %s\n", gVersion + 5, gLibNcFTPVersion + 5);
-#ifdef UNAME
+#if 0
 	AbbrevStr(s, UNAME, 60, 1);
 	(void) fprintf(fp, "Build system: %s\n", s);
 #endif


signature.asc
Description: 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#829133: icon: please make the build reproducible

2016-06-30 Thread Reiner Herrmann
Source: icon
Version: 9.4.3-4.2
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 icon could not be built reproducibly.
It has timestamps in the gzip headers of documentation files and embeds
the build date into the binary.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 6d1b9a7..cc7358b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -97,8 +97,8 @@ binary-icont: checkroot build-icont test-icont
 #	install -o root -g root -m 755 debian/icont-wrapper debian/tmp-icont/usr/bin/icont
 # Compress documentation...
 	test -f debian/tmp-icont/usr/share/doc/icont/changelog.Debian.gz || \
-		gzip -9 debian/tmp-icont/usr/share/doc/icont/changelog.Debian
-	-gzip -9rq debian/tmp-icont/usr/share/man
+		gzip -9n debian/tmp-icont/usr/share/doc/icont/changelog.Debian
+	-gzip -9rqn debian/tmp-icont/usr/share/man
 #	(cd debian/tmp-icont/usr/share/man/man1 && ln -sf icont.1.gz icont.real.1.gz)
 # Fix permissions...
 	chmod -R u=rwX,go=rX debian/tmp-icont
@@ -126,8 +126,8 @@ binary-iconx: checkroot build-icont
 		debian/tmp-iconx/usr/share/doc/iconx/changelog.Debian
 # Compress documentation...
 	test -f debian/tmp-iconx/usr/share/doc/iconx/changelog.Debian.gz || \
-		gzip -9 debian/tmp-iconx/usr/share/doc/iconx/changelog.Debian
-	-gzip -9rq debian/tmp-iconx/usr/share/man
+		gzip -9n debian/tmp-iconx/usr/share/doc/iconx/changelog.Debian
+	-gzip -9rqn debian/tmp-iconx/usr/share/man
 # Fix permissions...
 	chmod -R u=rwX,go=rX debian/tmp-iconx
 	chown -R root.root debian/tmp-iconx
@@ -159,8 +159,8 @@ binary-iconc: checkroot build-iconc
 		debian/tmp-iconc/usr/share/doc/iconc/changelog.Debian
 # Compress documentation...
 	test -f debian/tmp-iconc/usr/share/doc/iconc/changelog.Debian.gz || \
-		gzip -9 debian/tmp-iconc/usr/share/doc/iconc/changelog.Debian
-	-gzip -9rq debian/tmp-iconc/usr/share/man
+		gzip -9n debian/tmp-iconc/usr/share/doc/iconc/changelog.Debian
+	-gzip -9rqn debian/tmp-iconc/usr/share/man
 # Fix permissions...
 	chmod -R u=rwX,go=rX debian/tmp-iconc
 	chown -R root.root debian/tmp-iconc
@@ -186,9 +186,9 @@ binary-ipl: checkroot build-ipl
 		debian/tmp-ipl/usr/share/doc/icon-ipl/changelog.Debian
 # Compress documentation...
 	find debian/tmp-ipl/usr/share/doc/icon-ipl -type f -size +6k -print | \
-		xargs --no-run-if-empty gzip -9
+		xargs --no-run-if-empty gzip -9n
 	test -f debian/tmp-ipl/usr/share/doc/icon-ipl/changelog.Debian.gz || \
-		gzip -9 debian/tmp-ipl/usr/share/doc/icon-ipl/changelog.Debian
+		gzip -9n debian/tmp-ipl/usr/share/doc/icon-ipl/changelog.Debian
 # Fix permissions...
 	chmod -R u=rwX,go=rX debian/tmp-ipl
 	chown -R root.root debian/tmp-ipl
diff --git a/src/icont/tunix.c b/src/icont/tunix.c
index bff6988..9e94394 100644
--- a/src/icont/tunix.c
+++ b/src/icont/tunix.c
@@ -103,7 +103,7 @@ int main(int argc, char *argv[]) {
 iconxloc = "";
 break;
  case 'V':			/* -V: print version information */
-fprintf(stderr, "%s  (%s, %s)\n", Version, Config, __DATE__);
+fprintf(stderr, "%s  (%s)\n", Version, Config);
 if (optind == argc)
exit(0);
 break;
diff --git a/src/runtime/imain.r b/src/runtime/imain.r
index 424a4f6..1745153 100644
--- a/src/runtime/imain.r
+++ b/src/runtime/imain.r
@@ -259,7 +259,7 @@ int *ip;
   * Announce version on stderr if -V is given.
   */
  case 'V':
-fprintf(stderr, "%s  (%s, %s)\n", Version, Config, __DATE__);
+fprintf(stderr, "%s  (%s)\n", Version, Config);
 	if (!argv[2])
 	   exit(0);
 break;


signature.asc
Description: 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#829129: ayttm: please make the build reproducible

2016-06-30 Thread Reiner Herrmann
Source: ayttm
Version: 0.6.3-3.1
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 ayttm could not be built reproducibly.
Some object files are sorted differently depending on locale.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..c9218e4
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,66 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: sort object files for deterministic linking order
+
+--- a/modules/irc/Makefile.am
 b/modules/irc/Makefile.am
+@@ -14,6 +14,6 @@
+ irc_la_SOURCES = irc.c
+ 
+ irc_la_LDFLAGS = -module -avoid-version $(WIN32_LDFLAGS)
+-irc_la_LIBADD = libirc/*.lo $(WIN32_LIBADD)
++irc_la_LIBADD = `LC_ALL=C ls libirc/*.lo` $(WIN32_LIBADD)
+ # Gets rid of the datarootdir warning
+ datarootdir=@datarootdir@
+--- a/modules/jabber/Makefile.am
 b/modules/jabber/Makefile.am
+@@ -13,6 +13,6 @@
+ jabber_la_SOURCES = jabber.c libEBjabber.c 
+ 
+ jabber_la_LDFLAGS = -module -avoid-version $(WIN32_LDFLAGS)
+-jabber_la_LIBADD = libjabber/*.lo libxode/*.lo $(WIN32_LIBADD)
++jabber_la_LIBADD = `LC_ALL=C ls libjabber/*.lo libxode/*.lo` $(WIN32_LIBADD)
+ # Gets rid of the datarootdir warning
+ datarootdir=@datarootdir@
+--- a/modules/msn2/Makefile.am
 b/modules/msn2/Makefile.am
+@@ -13,6 +13,6 @@
+ msn2_la_SOURCES = msn.c
+ 
+ msn2_la_LDFLAGS = -module -avoid-version $(WIN32_LDFLAGS)
+-msn2_la_LIBADD = libmsn2/*.lo $(WIN32_LIBADD)
++msn2_la_LIBADD = `LC_ALL=C ls libmsn2/*.lo` $(WIN32_LIBADD)
+ # Gets rid of the datarootdir warning
+ datarootdir=@datarootdir@
+--- a/modules/irc/Makefile.in
 b/modules/irc/Makefile.in
+@@ -327,7 +327,7 @@
+ @MINGW32_TRUE@WIN32_LIBADD = -L../../src -layttm -lintl -lglib-2.0 -lws2_32 -lgtk
+ irc_la_SOURCES = irc.c
+ irc_la_LDFLAGS = -module -avoid-version $(WIN32_LDFLAGS)
+-irc_la_LIBADD = libirc/*.lo $(WIN32_LIBADD)
++irc_la_LIBADD = `LC_ALL=C ls libirc/*.lo` $(WIN32_LIBADD)
+ all: all-recursive
+ 
+ .SUFFIXES:
+--- a/modules/jabber/Makefile.in
 b/modules/jabber/Makefile.in
+@@ -325,7 +325,7 @@
+ pkglib_LTLIBRARIES = jabber.la
+ jabber_la_SOURCES = jabber.c libEBjabber.c 
+ jabber_la_LDFLAGS = -module -avoid-version $(WIN32_LDFLAGS)
+-jabber_la_LIBADD = libjabber/*.lo libxode/*.lo $(WIN32_LIBADD)
++jabber_la_LIBADD = `LC_ALL=C ls libjabber/*.lo libxode/*.lo` $(WIN32_LIBADD)
+ all: all-recursive
+ 
+ .SUFFIXES:
+--- a/modules/msn2/Makefile.in
 b/modules/msn2/Makefile.in
+@@ -324,7 +324,7 @@
+ pkglib_LTLIBRARIES = msn2.la
+ msn2_la_SOURCES = msn.c
+ msn2_la_LDFLAGS = -module -avoid-version $(WIN32_LDFLAGS)
+-msn2_la_LIBADD = libmsn2/*.lo $(WIN32_LIBADD)
++msn2_la_LIBADD = `LC_ALL=C ls libmsn2/*.lo` $(WIN32_LIBADD)
+ all: all-recursive
+ 
+ .SUFFIXES:
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: 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#829000: fracplanet: please make the build reproducible

2016-06-29 Thread Reiner Herrmann
Source: fracplanet
Version: 0.4.0-3
Severity: wishlist
Tags: patch upstream
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 fracplanet could not be built reproducibly.
It lists source and header files without considering the locale, which
causes e.g. a non-deterministic linking order.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..8e33fdb
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,18 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Use C locale for sorting source and header files
+ Under different locales the order is different, which causes different
+ linking orders.
+
+--- a/fracplanet.pro
 b/fracplanet.pro
+@@ -6,8 +6,8 @@
+ 
+ PRECOMPILED_HEADER = precompiled.h
+ 
+-HEADERS += $$system(ls *.h)
+-SOURCES += $$system(ls *.cpp)
++HEADERS += $$system(LC_ALL=C ls *.h)
++SOURCES += $$system(LC_ALL=C ls *.cpp)
+ LIBS += -lboost_program_options -lGLU
+ 
+ DEFINES += QT_DLL
diff --git a/debian/patches/series b/debian/patches/series
index 21e94e7..a9045c0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 qt4.8_headers.patch
+reproducible-build.patch


signature.asc
Description: 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#828993: openttd: please make the build reproducible

2016-06-29 Thread Reiner Herrmann
Source: openttd
Version: 1.6.0-1
Severity: wishlist
Tags: patch upstream
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 openttd could not be built reproducibly.
A list of source files is sorted without considering locales, so it
will be different under differing locales.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/deterministic-sort2.patch b/debian/patches/deterministic-sort2.patch
new file mode 100644
index 000..e82876d
--- /dev/null
+++ b/debian/patches/deterministic-sort2.patch
@@ -0,0 +1,11 @@
+--- a/configure
 b/configure
+@@ -149,7 +149,7 @@
+ 
+ # Read the source.list and process it
+ # Please escape ALL " within ` because e.g. "" terminates the string in some sh implementations
+-SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk \"$AWKCOMMAND\" | $PIPE_SORT`"
++SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk \"$AWKCOMMAND\" | LC_ALL=C $PIPE_SORT`"
+ 
+ OBJS_C="`  echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.c$/   { gsub(\".c$\",   \".o\", $0); print $0; }'`"
+ OBJS_CPP="`echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.cpp$/ { gsub(\".cpp$\", \".o\", $0); print $0; }'`"
diff --git a/debian/patches/series b/debian/patches/series
index c516a40..e526db4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 deterministic-sort.patch
 correct-buildflags-with-dash.patch
+deterministic-sort2.patch


signature.asc
Description: 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#828989: ntp: please make the build reproducible

2016-06-29 Thread Reiner Herrmann
Source: ntp
Version: 1:4.2.8p8+dfsg-1
Severity: wishlist
Tags: patch upstream
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 ntp could not be built reproducibly.
It embeds the build time into the version string.

The attached patch removes this, so that it can be built reproducibly.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..9c8e34a
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,11 @@
+--- a/scripts/build/mkver.in
 b/scripts/build/mkver.in
+@@ -15,8 +15,6 @@
+  *) ConfStr="${ConfStr}-@VER_SUFFIX@" ;;
+ esac
+ 
+-ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`"
+-
+ if [ ! -f .version ]; then
+   echo 0 > .version
+ fi
diff --git a/debian/patches/series b/debian/patches/series
index 7c22fd7..fd76e7d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@ ntpdate-ipv6.patch
 ntpd-linux-caps-runtime.patch
 openssl-disable-check.patch
 libedit.patch
+reproducible-build.patch


signature.asc
Description: 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#828977: faust: please make the build reproducible

2016-06-29 Thread Reiner Herrmann
Source: faust
Version: 0.9.73~repack1-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that faust could not be built reproducibly.
Some lists of source files are not sorted, which leads to a
non-deterministic linking order.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..e4eb74a
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,54 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort list of source files for deterministic linking order
+
+--- a/compiler/Makefile.unix
 b/compiler/Makefile.unix
+@@ -1,6 +1,6 @@
+ subprojects := boxes errors evaluate generator normalize parser propagate parallelize signals tlib draw draw/device draw/schema extended patternmatcher documentator utils
+ 
+-sources = $(wildcard *.cpp) $(wildcard */*.cpp) $(wildcard draw/*/*.cpp)
++sources = $(sort $(wildcard *.cpp) $(wildcard */*.cpp) $(wildcard draw/*/*.cpp))
+ 
+ objects = $(sources:.cpp=.o)
+ 
+--- a/architecture/osclib/faust/Makefile
 b/architecture/osclib/faust/Makefile
+@@ -1,5 +1,5 @@
+ subprojects := . src src/lib src/msg src/nodes src/osc src/threads ../..
+-sources = $(wildcard src/*.cpp) $(wildcard src/*/*.cpp) 
++sources = $(sort $(wildcard src/*.cpp) $(wildcard src/*/*.cpp))
+ objects = $(sources:.cpp=.o)
+ 
+ VPATH = $(subprojects)
+--- a/architecture/osclib/oscpack/Makefile
 b/architecture/osclib/oscpack/Makefile
+@@ -3,25 +3,25 @@
+ 
+ ifeq ($(system), Darwin)
+ subprojects := ip ip/posix osc
+-sources := $(wildcard ip/*.cpp)  $(wildcard ip/posix/*.cpp)  $(wildcard osc/*.cpp)
++sources := $(sort $(wildcard ip/*.cpp)  $(wildcard ip/posix/*.cpp)  $(wildcard osc/*.cpp))
+ #ARCHFLAGS 	:=  -arch i386 -arch x86_64
+ 
+ else 
+ ifeq ($(system), Linux)
+ subprojects := ip ip/posix osc
+-sources := $(wildcard ip/*.cpp)  $(wildcard ip/posix/*.cpp)  $(wildcard osc/*.cpp)
++sources := $(sort $(wildcard ip/*.cpp)  $(wildcard ip/posix/*.cpp)  $(wildcard osc/*.cpp))
+ ARCHFLAGS 	:= 
+ CXXFLAGS += -fPIC
+ 
+ else 
+ ifeq ($(system), GNU/kFreeBSD)
+ subprojects := ip ip/posix osc
+-sources := $(wildcard ip/*.cpp)  $(wildcard ip/posix/*.cpp)  $(wildcard osc/*.cpp)
++sources := $(sort $(wildcard ip/*.cpp)  $(wildcard ip/posix/*.cpp)  $(wildcard osc/*.cpp))
+ ARCHFLAGS 	:= 
+ 
+ else
+ subprojects := ip ip/win32 osc
+-sources := $(wildcard ip/*.cpp)  $(wildcard ip/win32/*.cpp)  $(wildcard osc/*.cpp)
++sources := $(sort $(wildcard ip/*.cpp)  $(wildcard ip/win32/*.cpp)  $(wildcard osc/*.cpp))
+ ARCHFLAGS 	:= 
+ endif
+ endif
diff --git a/debian/patches/series b/debian/patches/series
index c4914b4..b1ed196 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@ kFreeBSD
 unistd
 ldflags
 spelling
+reproducible-build.patch


signature.asc
Description: 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#828971: clasp: please make the build reproducible

2016-06-29 Thread Reiner Herrmann
Source: clasp
Version: 3.1.4-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that clasp could not be built reproducibly.
A list of source files is not sorted, which causes a non-deterministic
linking order.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..8e840d1
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/tools/Base.in
 b/tools/Base.in
+@@ -6,7 +6,7 @@
+ AR   ?= ar
+ -include .CONFIG
+ -include $(FLAGS)
+-SOURCES  := $(patsubst $(SOURCE_DIR)/%.cpp,%.cpp,$(wildcard $(SOURCE_DIR)/*.cpp))
++SOURCES  := $(patsubst $(SOURCE_DIR)/%.cpp,%.cpp,$(sort $(wildcard $(SOURCE_DIR)/*.cpp)))
+ ifeq ($(OUT_DIR),)
+ DEPS := $(patsubst %.cpp,%.dep, $(SOURCES))
+ OBJECTS  := $(patsubst %.cpp,%.o, $(SOURCES))
diff --git a/debian/patches/series b/debian/patches/series
index c78dfaa..9fd6edb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 clasp-manpage.patch
 clasp-parallel-solve.patch
+reproducible-build.patch


signature.asc
Description: 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#828969: dogecoin: please make the build reproducible

2016-06-29 Thread Reiner Herrmann
Source: dogecoin
Version: 1.10.0-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Forwarded: https://github.com/dogecoin/dogecoin/pull/1351

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that dogecoin could not be built reproducibly.
It sorts files without normalizing the locale, which results in
different orders under different locales.

The attached patch fixes this by using the C locale for sorting.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/0003-reproducible-build.patch b/debian/patches/0003-reproducible-build.patch
new file mode 100644
index 000..6217e4b
--- /dev/null
+++ b/debian/patches/0003-reproducible-build.patch
@@ -0,0 +1,11 @@
+--- a/src/leveldb/build_detect_platform
 b/src/leveldb/build_detect_platform
+@@ -176,7 +176,7 @@
+ PRUNE_TEST="-name *test*.cc -prune"
+ PRUNE_BENCH="-name *_bench.cc -prune"
+ PRUNE_TOOL="-name leveldb_main.cc -prune"
+-PORTABLE_FILES=`find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o $PRUNE_TOOL -o -name '*.cc' -print | sort | sed "s,^$PREFIX/,," | tr "\n" " "`
++PORTABLE_FILES=`find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o $PRUNE_TOOL -o -name '*.cc' -print | LC_ALL=C sort | sed "s,^$PREFIX/,," | tr "\n" " "`
+ 
+ set +f # re-enable globbing
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 8c7a8dc..10eb27e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 0001-configure.ac_use_PIC.patch
 0002-rename-libbitcoinconsensus-to-libdogecoinconsensus.patch
+0003-reproducible-build.patch


signature.asc
Description: 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#828909: qtruby: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: qtruby
Version: 4:4.14.3-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering timestamps umask
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that qtruby could not be built reproducibly.
A tarball generated during build is unsorted, its files have the current
time as timestamps and the permissions vary with the umask.

The attached patch fixes those issues.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/control b/debian/control
index 9fc9321..5b35a07 100644
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,8 @@ Build-Depends: cmake,
pkg-kde-tools (>= 0.6.8),
ruby,
ruby-dev,
-   smoke-dev-tools (>= 4:4.11)
+   smoke-dev-tools (>= 4:4.11),
+   tar (>= 1.28)
 Build-Conflicts: libqtwebkit-dev
 Standards-Version: 3.9.6
 Homepage: http://projects.kde.org/projects/kde/kdebindings/ruby/qtruby
diff --git a/debian/rules b/debian/rules
index 2e222a0..c16b5f6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -27,7 +27,7 @@ override_dh_compress:
 
 override_dh_installexamples-arch:
 	dh_installexamples -a
-	tar cvzf $(CURDIR)/debian/ruby-qt4/usr/share/doc/ruby-qt4/examples.tar.gz examples
+	tar cvzf $(CURDIR)/debian/ruby-qt4/usr/share/doc/ruby-qt4/examples.tar.gz examples --clamp-mtime --mtime="@$(SOURCE_DATE_EPOCH)" --sort=name --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner
 
 override_dh_makeshlibs:
 	dh_makeshlibs -V


signature.asc
Description: 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#828906: mailfilter: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: mailfilter
Version: 0.8.4-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering umask
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that mailfilter could not be built reproducibly.
A tarball generated during build is unsorted and has varying permissions
depending on umask. A Makefile inside also varies with different shells.

The attached patch fixes those issues.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index d93b262..44d2fa1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,12 +1,13 @@
 #!/usr/bin/make -f
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-BUILD_DATE := $(shell dpkg-parsechangelog --show-field Date)
+export CONFIG_SHELL=/bin/bash
 
 %:
 	dh $@ --with autotools-dev
 
 override_dh_auto_install:
 	dh_auto_install
-	LC_ALL=C tar -cf - ./contrib --mtime="$(BUILD_DATE)" | gzip -n -9  > ./debian/mailfilter/usr/share/doc/mailfilter/contrib.tar.gz
+	LC_ALL=C tar -cf - ./contrib --sort=name --clamp-mtime --mtime="@$(SOURCE_DATE_EPOCH)" --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner \
+		   | gzip -n -9  > ./debian/mailfilter/usr/share/doc/mailfilter/contrib.tar.gz
 


signature.asc
Description: 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#828898: lordsawar: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: lordsawar
Version: 0.3.0-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username umask
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that lordsawar could not be built reproducibly.
The gama data archives, which are just tarballs, have files with the
current time, the build user and varying permissions (depending on
umask).

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..7f4bafb
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,18 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Make tarball reproducible
+ - sort file order
+ - clamp mtime at $SOURCE_DATE_EPOCH
+ - set owner/group to root
+ - fix permissions
+
+--- a/create-lw-file
 b/create-lw-file
+@@ -13,7 +13,7 @@
+   for f in $files; do
+   tmpfiles="$tmpfiles `basename $f`"
+   done
+-  tar -cvf $tarball $tmpfiles
++  tar -cvf $tarball $tmpfiles --sort=name --clamp-mtime --mtime="@${SOURCE_DATE_EPOCH:-$(date +%s)}" --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner
+   cd $origdir
+   cp -f $tmpdir/$tarball $1
+   rm -f $tmpdir/*
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: 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#828890: libsdl2-gfx: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: libsdl2-gfx
Version: 1.0.1+dfsg-3
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering timestamps
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that libsdl2-gfx could not be built reproducibly.
The example tarball still has time and order variations.

The attached patch fixes this by telling tar to sort the file list and
clamp the mtime at SOURCE_DATE_EPOCH.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/control b/debian/control
index 2e710d7..1a0beeb 100644
--- a/debian/control
+++ b/debian/control
@@ -13,6 +13,7 @@ Build-Depends: autoconf,
dh-autoreconf,
libsdl2-dev,
libtool,
+   tar (>= 1.28),
pkg-config
 Build-Depends-Indep: doxygen
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-sdl/packages/libsdl2-gfx.git
diff --git a/debian/rules b/debian/rules
index f6272fe..b4f2b2a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -31,7 +31,7 @@ override_dh_install:
 
 override_dh_auto_build:
 	dh_auto_build
-	tar -cvz --transform='s,^test,examples,' -f debian/examples.tar.gz --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner test
+	tar -cvz --transform='s,^test,examples,' -f debian/examples.tar.gz --clamp-mtime --mtime="@$(SOURCE_DATE_EPOCH)" --sort=name --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner test
 
 override_dh_auto_build-indep:
 	doxygen Docs/html.doxyfile


signature.asc
Description: 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#828891: bbdb: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: bbdb
Version: 2.36-4
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering timestamps username
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that bbdb could not be built reproducibly.
An included tarball contains files with the current build date, the
build user/group and is unsorted.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/control b/debian/control
index 1968d30..87967e6 100644
--- a/debian/control
+++ b/debian/control
@@ -6,7 +6,7 @@ Uploaders: Barak A. Pearlmutter 
 Build-Depends: debhelper (>= 9),
 dh-autoreconf
 Build-Depends-Indep: texinfo, texi2html, ghostscript,
-texlive-base, texlive-latex-base,
+texlive-base, texlive-latex-base, tar (>= 1.28),
 emacs24-nox | emacs24 | emacs23-nox | emacs23 | emacs
 Standards-Version: 3.9.5
 Vcs-Git: git://github.com/barak/BBDB.git
diff --git a/debian/rules b/debian/rules
index 1407bdb..86119c5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -23,4 +23,4 @@ override_dh_install:
 
 bits.tar.gz:
 	tar -cf - extern/*/* | tar -C bits -xvf -
-	tar -czf bits.tar.gz bits/
+	tar -czf bits.tar.gz bits/ --sort=name --clamp-mtime --mtime="@${SOURCE_DATE_EPOCH}" --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner


signature.asc
Description: 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#828888: aspell-en: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: aspell-en
Version: 2016.01.19-0-0.1
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 aspell-en could not be built reproducibly.
Files and file contents are sorted differently depending on the locale.

The attached patch fixes this by setting LC_ALL (instead of LC_COLLATE)
to C.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 67ac205..9bc3191 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,7 +12,7 @@ DEB_DH_MD5SUMS_ARGS += -Xvar/lib/aspell
 makebuilddir/aspell-en:: extrawords-stamp
 
 extrawords-stamp:
-	mv en-common.cwl en-common.cwl.orig && (prezip-bin -d < en-common.cwl.orig ; cat debian/extrawords.txt) | LC_COLLATE=C sort -u | prezip-bin -z > en-common.cwl
+	mv en-common.cwl en-common.cwl.orig && (prezip-bin -d < en-common.cwl.orig ; cat debian/extrawords.txt) | LC_ALL=C sort -u | prezip-bin -z > en-common.cwl
 	touch extrawords-stamp
 
 cleanbuilddir/aspell-en::
@@ -20,7 +20,7 @@ cleanbuilddir/aspell-en::
 	rm -f extrawords-stamp
 
 install/aspell-$(DICT_LANG)::
-	for f in *.cwl; do \
+	for f in `LC_ALL=C ls *.cwl`; do \
 	gzip -9 -n -c "$$f" > "$(DEB_DESTDIR)/usr/share/aspell/"$$f".gz"; \
 	WL=`echo $$f | sed 's/\.cwl$$//'`; \
 	touch "$(DEB_DESTDIR)/var/lib/aspell/$$WL.rws"; \
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

[Reproducible-builds] Bug#828876: ario: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: ario
Version: 1.5.1-1.3
Severity: wishlist
Tags: patch upstream
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 ario could not be built reproducibly.
It embeds the current year into the binary.

The attached patch replaces it with a static value.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..9377027
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,26 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Replace current year with static value to get reproducible build
+
+--- a/src/Makefile.am
 b/src/Makefile.am
+@@ -214,8 +214,7 @@
+ -DDATA_PATH=\""$(pkgdatadir)/data/"\"\
+ -DUI_PATH=\""$(pkgdatadir)/ui/"\"\
+ 	-DARIO_PLUGIN_DIR=\"$(PLUGINDIR)\"\
+-	-DARIO_PLUGIN_DATA_DIR=\"$(PLUGIN_DATA_DIR)\"\
+-		-DCURRENT_DATE="\"`date +%G`\""
++	-DARIO_PLUGIN_DATA_DIR=\"$(PLUGIN_DATA_DIR)\"
+ 
+ if MPD_GLIB
+ AM_CPPFLAGS += -DMPD_GLIB
+--- a/src/shell/ario-shell.c
 b/src/shell/ario-shell.c
+@@ -821,7 +821,7 @@
+"name", "Ario",
+"program-name", "Ario",
+"version", PACKAGE_VERSION,
+-   "copyright", "Copyright \xc2\xa9 2005-" CURRENT_DATE " Marc Pavot",
++   "copyright", "Copyright \xc2\xa9 2005-2011 Marc Pavot",
+"comments", _("GTK client for MPD"),
+"translator-credits", _("translator-credits"),
+"authors", (const char **) authors,
diff --git a/debian/patches/series b/debian/patches/series
index 7e66345..60ef58f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 glib-single-include.patch
+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#828867: zephyr: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: zephyr
Version: 3.1.2-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps username hostname
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that zephyr could not be built reproducibly.
It embeds the current time, username and hostname into the binary.

The attached patch strips this information from the version string.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 000..34f3982
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,17 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Strip non-deterministic information from the version string
+
+--- a/new_vers.sh
 b/new_vers.sh
+@@ -2,10 +2,7 @@
+ #
+ top_srcdir=${1:-`pwd`}
+ 
+-u=${USER-the_zephyr_builder}
+-h=`hostname`
+-t=`date`
+ v=`sh ${top_srcdir}/get_vers.sh ${top_srcdir}`
+ 
+ umask 002
+-/bin/echo "#define ZEPHYR_VERSION_STRING \"${v} (${t}) ${u}@${h}\"" > h/zephyr_version.h
++/bin/echo "#define ZEPHYR_VERSION_STRING \"${v}\"" > h/zephyr_version.h
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 000..55077d0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+reproducible-build.patch


signature.asc
Description: 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#828855: wmweather: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: wmweather
Version: 0.12.21-8
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that wmweather could not be built reproducibly.
It creates the md5sums file in an unsorted order.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index e49331b..035f141 100755
--- a/debian/rules
+++ b/debian/rules
@@ -61,7 +61,7 @@ endif
 	install -d -p -m 0755 debian/wmweather/DEBIAN
 	install-p -m 0644 debian/control debian/conffiles debian/wmweather/DEBIAN
 	install-p -m 0755 debian/postinst debian/postrm debian/wmweather/DEBIAN
-	cd debian/wmweather && find usr -type f -print0 | xargs -0 md5sum > DEBIAN/md5sums
+	cd debian/wmweather && find usr -type f -print0 | LC_ALL=C sort -z | xargs -0 md5sum > DEBIAN/md5sums
 
 	dpkg-shlibdeps debian/wmweather/usr/bin/wmweather
 	dpkg-gencontrol -isp -pwmweather -Pdebian/wmweather


signature.asc
Description: 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#828856: lrzsz: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: lrzsz
Version: 0.12.21-8
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: X
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that lrzsz could not be built reproducibly.
The md5sums file contains files in an unsorted order.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index d71055f..cc63d30 100755
--- a/debian/rules
+++ b/debian/rules
@@ -72,7 +72,7 @@ endif
 
 	install -d -m 0755 debian/tmp/DEBIAN
 	install -p -m 0644 debian/control debian/tmp/DEBIAN
-	cd debian/tmp && find usr -type f -print0 | xargs -0 md5sum > DEBIAN/md5sums
+	cd debian/tmp && find usr -type f -print0 | LC_ALL=C sort -z | xargs -0 md5sum > DEBIAN/md5sums
 
 	chown -R root:root debian/tmp
 	chmod -R go=u-w debian/tmp


signature.asc
Description: 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#828852: moblin-icon-theme: please make the build reproducible

2016-06-28 Thread Reiner Herrmann
Source: moblin-icon-theme
Version: 0.10.0-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that moblin-icon-theme could not be built reproducibly.
It iterates over an unsorted list of directories during build.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/create-icon-theme.sh b/create-icon-theme.sh
index 482c1e5..bf4dc08 100755
--- a/create-icon-theme.sh
+++ b/create-icon-theme.sh
@@ -36,7 +36,7 @@ echo -e "[Icon Theme]\nName=$THEME_NAME\nComment=$THEME_COMMENT\n" > index.theme
 echo "Inherits=hicolor" >> index.theme
 echo -n "Directories=" >> index.theme
 
-DIRS=`find * -type d | grep -v git | grep -v scalable | grep "/"`
+DIRS=`find * -type d | LC_ALL=C sort | grep -v git | grep -v scalable | grep "/"`
 
 
 for foo in $DIRS
@@ -56,12 +56,12 @@ done
 
 echo "Creating Makefiles"
 
-SIZES=$(find * -maxdepth 0 -type d -not -name 'scalable' -printf '%f ')
+SIZES=$(find * -maxdepth 0 -type d -not -name 'scalable' -printf '%f ' | LC_ALL=C sort)
 
 MAKEFILES='Makefile\n'
 for dir in $SIZES
 do
-  subdirs=$(find $dir/* -maxdepth 0 -type d -printf '%f ')
+  subdirs=$(find $dir/* -maxdepth 0 -type d -printf '%f ' | LC_ALL=C sort)
   echo "SUBDIRS=$subdirs" > $dir/Makefile.am
   MAKEFILES="$MAKEFILES\n$dir/Makefile"
   for context in $subdirs


signature.asc
Description: 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#828793: minicom: please make the build reproducible

2016-06-27 Thread Reiner Herrmann
Source: minicom
Version: 2.7-1
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering timestamps
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that X could not be built reproducibly.
The build time is embedded into gzip headers and the content of the
md5sums file is unsorted.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/rules b/debian/rules
index 7d2d8f2..95d65e4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -64,7 +64,7 @@ ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
 	cd $(BUILDDIR)/usr/bin && strip -R .comment -R .note ascii-xfr minicom runscript
 endif
 	install -p -D -m 0644 debian/menu $(BUILDDIR)/usr/share/menu/minicom
-	find $(BUILDDIR)/usr/share/man -type f -print0 | xargs -0 gzip -9
+	find $(BUILDDIR)/usr/share/man -type f -print0 | xargs -0 gzip -9n
 
 	install -d -m 0755 $(BUILDDIR)/etc/minicom $(DOCDIR)/examples $(DOCDIR)/intl $(DOCDIR)/term $(DOCDIR)/todo $(DOCDIR)/tables
 	install -p -m 0644 doc/minirc.dfl extras/*login debian/minirc.nullmodem $(DOCDIR)/examples
@@ -80,12 +80,12 @@ endif
 	install -p -D -m 0644 extras/terminfo/README   $(DOCDIR)/term/README.terminfo
 	install -p -D -m 0644 extras/terminfo/minicom  $(DOCDIR)/term/terminfo
 	install -p -m 0644 TODO doc/TODO* doc/Todo* $(DOCDIR)/todo
-	find $(DOCDIR) -type f \( -size +8 -o -name 'changelog*' \) -print0 | xargs -0 gzip -9
+	find $(DOCDIR) -type f \( -size +8 -o -name 'changelog*' \) -print0 | xargs -0 gzip -9n
 
 	install -d -m 0755 $(DEBDIR)
 	install -p -m 0644 debian/control $(DEBDIR)
 	install -p -m 0755 debian/preinst debian/postinst debian/postrm $(DEBDIR)
-	cd $(BUILDDIR) && find usr -type f -print0 | xargs -0 md5sum > DEBIAN/md5sums
+	cd $(BUILDDIR) && find usr -type f -print0 | LC_ALL=C sort -z | xargs -0 md5sum > DEBIAN/md5sums
 	chmod 0644 $(DEBDIR)/md5sums
 
 	dpkg-shlibdeps $(BUILDDIR)/usr/bin/ascii-xfr $(BUILDDIR)/usr/bin/minicom $(BUILDDIR)/usr/bin/runscript


signature.asc
Description: Digital signature
___
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

  1   2   3   4   >