Package: dist
Version: 1:3.5-236-0.1
Severity: normal
Tags: patch unreproducible
User: m...@linux.it
Usertags: usrmerge

Dear Maintainer,

The package currently fails to build reproducibly on merged-usr vs
non-merged systems.

The paths of grep, sed, cat and zcat are looked up during build from
PATH and is embedded in shipped files.

There's a "d_portable" setting which promises to build portable scripts
(by expanding from PATH at runtime, rather than build-time), but
enabling it seems to cause build failure so it could not be used.

I thus opted for explicitly specifying the paths for the affected tools.

You however might want to earn extra bonus points fixing builds in dirty
local environment by looking at all tools specified in loclist and
trylist (in Configure), find which ones gets their path embedded in
shipped files, and explicitly specify them all.
(Or why not just fix up d_portable?)

You might however want to give priority to looking at the stuff that
lintian warns about for this package, which seems alot more urgent
than spending time on fixing up builds done in dirty local environments.

Please see the attached patch.

Regards,
Andreas Henriksson
diff -u dist-3.5-236/debian/changelog dist-3.5-236/debian/changelog
--- dist-3.5-236/debian/changelog
+++ dist-3.5-236/debian/changelog
@@ -1,3 +1,13 @@
+dist (1:3.5-236-0.2) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Since d_portable seems broken, tell configure which paths to use
+    for grep, sed, cat and zcat explicitly.
+    - fixes reproducible build on merged-usr vs non-merged systems.
+  * Use -D prefix=/usr instead of non-existant $(PREFIX)
+
+ -- Andreas Henriksson <andr...@fatal.se>  Fri, 07 Dec 2018 20:47:02 +0100
+
 dist (1:3.5-236-0.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -u dist-3.5-236/debian/rules dist-3.5-236/debian/rules
--- dist-3.5-236/debian/rules
+++ dist-3.5-236/debian/rules
@@ -35,7 +35,7 @@
            touch .config/nomail                        && \
               sh ./Configure                               \
                 -de                                        \
-                -D prefix=$(PREFIX)                        \
+                -D prefix=/usr                             \
                 -D orgname=/etc/news/organization          \
                 -D myhostname=localhost                    \
                 -D mydomain=localdomain                    \
@@ -44,6 +44,10 @@
                 -D pager=/bin/more                         \
                 -D mansrc=/usr/share/man/                  \
                 -D cf_email='$(email)'                     \
+                -D grep=/bin/grep                          \
+                -D sed=/bin/sed                            \
+                -D cat=/bin/cat                            \
+                -D zcat=/bin/zcat                          \
                 -D d_berknames='define'
 
 

Reply via email to