Bug#914911: x11-apps: reproducible build (usrmerge): Embeds full path to mktemp found via PATH
Package: x11-apps
Version: 7.7+7
Severity: normal
Tags: patch
User: md@linux.it
Usertags: usrmerge
Dear Maintainer,
The reproducible build spotted a difference in your package when
built on a usrmerged system vs a non-merged system:
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/x11-apps.html
It seems x11perfcomp contains the full path of 'mktemp' found via
AC_PROG_PATH during build.
Since PATH defaults to contain /usr/bin before /bin the found path will
be /usr/bin/mktemp on a usrmerged system, since both paths are
essentially the same thing there. This is however not desirable on
a non-merged system where it needs to be /bin/mktemp.
The attached patch fixes the problem by explicitly specifying
the default path via MKTEMP environment variable as documented
in AC_PROG_PATH documentation.
(This is likely a good idea either way, since otherwise hypothetical
problems could happen for users building on their system with
/usr/local/bin/... or ~/bin/....)
Regards,
Andreas Henriksson
-- System Information:
Debian Release: buster/sid
APT prefers testing-debug
APT policy: (500, 'testing-debug'), (500, 'testing'), (500, 'stable'), (400, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.18.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages x11-apps depends on:
ii libc6 2.27-8
ii libpng16-16 1.6.34-2
ii libsm6 2:1.2.2-1+b3
ii libx11-6 2:1.6.7-1
ii libxaw7 2:1.0.13-1+b2
ii libxcursor1 1:1.1.15-2
ii libxext6 2:1.3.3-1+b2
ii libxft2 2.3.2-2
ii libxkbfile1 1:1.0.9-2
ii libxmu6 2:1.1.2-2
ii libxmuu1 2:1.1.2-2
ii libxrender1 1:0.9.10-1
ii libxt6 1:1.1.5-1
ii man-db 2.8.4-3
ii zlib1g 1:1.2.11.dfsg-1
Versions of packages x11-apps recommends:
pn xbitmaps <none>
Versions of packages x11-apps suggests:
ii mesa-utils 8.4.0-1
diff -Nru x11-apps-7.7+7/debian/changelog x11-apps-7.7+7+nmu1/debian/changelog
--- x11-apps-7.7+7/debian/changelog 2018-03-18 17:07:42.000000000 +0100
+++ x11-apps-7.7+7+nmu1/debian/changelog 2018-11-28 15:22:57.000000000 +0100
@@ -1,3 +1,10 @@
+x11-apps (7.7+7+nmu1) UNRELEASED; urgency=medium
+
+ * Explicitly set mktemp path via MKTEMP to make build reproducible
+ on usrmerged vs non-merged systems. (Closes: #-1)
+
+ -- Andreas Henriksson <andreas@fatal.se> Wed, 28 Nov 2018 15:22:57 +0100
+
x11-apps (7.7+7) unstable; urgency=medium
* Switch all xorg.freedesktop.org URLs in packaging to https.
diff -Nru x11-apps-7.7+7/debian/rules x11-apps-7.7+7+nmu1/debian/rules
--- x11-apps-7.7+7/debian/rules 2015-04-30 23:56:55.000000000 +0200
+++ x11-apps-7.7+7+nmu1/debian/rules 2018-11-28 15:22:50.000000000 +0100
@@ -16,6 +16,12 @@
CONFIG_STAMPS = $(addprefix $(STAMP_DIR)/configure-, $(SUBDIRS))
BUILD_STAMPS = $(addprefix $(STAMP_DIR)/build-,$(SUBDIRS))
+# Make build reprocudible by explicitly setting the path for mktemp.
+# AC_PATH_PROG will find /usr/bin/mktemp on usrmerged systems,
+# which is undesirable on non-merged systems. The full path
+# of mktemp is embedded in the built x11perfcomp script.
+export MKTEMP=/bin/mktemp
+
%:
dh $@ --with quilt,autoreconf --parallel
Reply to: