Package: backupninja Version: 1.1.0-2 Severity: normal Tags: patch User: [email protected] Usertags: usrmerge
Dear Maintainer, The package fails to build reproducibly on a merged-usr vs non-merged system. This is caused by embedding the full paths of a few tools. This can easily be fixed by passing in variables with explicit paths to configure, rather than relying on finding them via PATH. See attached debdiff that fixes this issue. Regards, Andreas Henriksson
diff -Nru backupninja-1.1.0/debian/changelog backupninja-1.1.0/debian/changelog --- backupninja-1.1.0/debian/changelog 2018-08-12 03:45:35.000000000 +0200 +++ backupninja-1.1.0/debian/changelog 2018-12-01 21:39:53.000000000 +0100 @@ -1,3 +1,12 @@ +backupninja (1.1.0-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Add debian/patches/unbreak-AC_PATH_PROG-bash.patch + * Pass BASH,SED,MKTEMP to configure specifying correct paths + - fixes reproducible build on merged-usr vs non-merged systems + + -- Andreas Henriksson <[email protected]> Sat, 01 Dec 2018 21:39:53 +0100 + backupninja (1.1.0-2) unstable; urgency=medium * Fix FTBFS (Closes: #903168) diff -Nru backupninja-1.1.0/debian/patches/series backupninja-1.1.0/debian/patches/series --- backupninja-1.1.0/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ backupninja-1.1.0/debian/patches/series 2018-12-01 21:39:53.000000000 +0100 @@ -0,0 +1 @@ +unbreak-AC_PATH_PROG-bash.patch diff -Nru backupninja-1.1.0/debian/patches/unbreak-AC_PATH_PROG-bash.patch backupninja-1.1.0/debian/patches/unbreak-AC_PATH_PROG-bash.patch --- backupninja-1.1.0/debian/patches/unbreak-AC_PATH_PROG-bash.patch 1970-01-01 01:00:00.000000000 +0100 +++ backupninja-1.1.0/debian/patches/unbreak-AC_PATH_PROG-bash.patch 2018-12-01 21:39:53.000000000 +0100 @@ -0,0 +1,25 @@ +From: Andreas Henriksson <[email protected]> +Subject: unbreak AC_PATH_PROG bash + +Being able to set the variable name in the environment before +running configure is a documented feature of AC_PATH_PROG. +Explicitly unsetting the variable ofcourse breaks that feature. + +If someone thinks BASH is not a good variable name because it +might be used for something else already, then either sanitize +your build environment or use a different variable name! + +The hypothetical case in the comment isn't relevant in our build +environment, so unbreak things here by commenting out the unset.... + +--- backupninja-1.1.0.orig/configure.ac ++++ backupninja-1.1.0/configure.ac +@@ -11,7 +11,7 @@ AM_INIT_AUTOMAKE([foreign]) + + # BASH may already be set in the shell, if the admin then changes the + # the /bin/sh symlink to a non-bash shell, all hell will break lose. +-unset BASH ++#unset BASH + AC_PATH_PROGS(BASH, bash, "no", [$PATH:/bin:/usr/bin:/usr/sbin]) + if test x$BASH = "xno"; then + AC_MSG_ERROR([bash is required]) diff -Nru backupninja-1.1.0/debian/rules backupninja-1.1.0/debian/rules --- backupninja-1.1.0/debian/rules 2018-08-12 03:44:14.000000000 +0200 +++ backupninja-1.1.0/debian/rules 2018-12-01 21:39:45.000000000 +0100 @@ -9,6 +9,8 @@ override_dh_auto_configure: dh_auto_configure -- \ + MKTEMP=/bin/mktemp BASH=/bin/bash SED=/bin/sed \ + AWK=/usr/bin/awk STAT=/usr/bin/stat \ --libdir=\$${prefix}/lib \ --libexecdir=\$${prefix}/lib

