Bug#914089: paricfg.h, pari.cfg: wrong gzip, zcat paths when built on a merged-/usr system and run on a non-merged-/usr system

Simon McVittie smcv at debian.org
Mon Nov 19 08:46:49 GMT 2018


Source: pari
Version: 2.11.0-1
Severity: important
User: md at linux.it
Usertags: usrmerge
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Steps to reproduce:

* Have two chroots, containers or complete systems, one with merged /usr
  and one not
* Build pari on the system with merged /usr
* Install and use pari on the system without merged /usr

Expected result:

* The package is functionally equivalent to the package you'd get if it
  had been built on a system without merged /usr
* The absolute paths of standard tools in /bin or /sbin do not appear in
  the package's content as paths in /usr/bin or /usr/sbin
* Everything works as intended

Actual result:

* /usr/lib/*/pari/pari.cfg and /usr/include/*/pari/paricfg.h contain
  absolute paths /usr/bin/gzip, /usr/bin/zcat
* If pari invokes those commands (I assume it does, but I haven't actually
  checked) then it will not work on non-merged-/usr systems, where
  /bin/gzip and /bin/zcat exist, but /usr/bin/gzip and /usr/bin/zcat do not

A merged-/usr system can be obtained by installing with
debootstrap >= 1.0.102 or debootstrap --merged-usr, or by installing the
usrmerge package. A non-merged-/usr system can be obtained by installing
with debootstrap --no-merged-usr (or upgrading from an older release) and
not installing usrmerge.

Recent tests on tests.reproducible-builds.org use unmerged /usr for the
first build and merged /usr for the second, as a way to detect some
issues in this class.

Because pari doesn't use Autoconf, there isn't a straightforward way
to fix this bug with configure arguments like
"GZIP=/bin/gzip ZCAT=/bin/zcat". Patching Configure, config/locate
and/or config/paricfg.h.SH is probably easiest.

    smcv



More information about the Reproducible-bugs mailing list