[Debian-ha-maintainers] Bug#999552: pcs: stores wrong paths to systemctl and rm if built on merged-/usr system

Simon McVittie smcv at debian.org
Fri Nov 12 11:31:40 GMT 2021


Source: pcs
Version: 0.10.11-1
Severity: important
Tags: bookworm sid
User: reproducible-builds at lists.alioth.debian.org
Usertags: usrmerge
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

If pcs is built on a merged-/usr system (as created by new installations
of Debian >= 10, debootstrap --merged-usr, or installing the usrmerge
package into an existing installation), then the paths to systemctl and
rm are recorded in the binary package as being in /usr/bin, rather than
the canonical /bin.

This can be seen on the reproducible-builds.org infra:
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/pcs.html

If you have sbuild available, an easy way to reproduce this is to build
twice, once with --add-depends=usrmerge and once without.

The problematic situation is if the package is *built* on a unified-/usr
system, but *used* on a non-unified-/usr system. In this situation,
/usr/bin/rm, etc. exist on the build system but not on the system
where the package will be used, resulting in the features that use these
executables not working correctly.

Technical Committee resolution #978636 mandates heading towards a
transition to merged-/usr, and this will become a non-issue at the end of
that transition; but variation between merged-/usr and non-merged-/usr
builds is a problem while that transition is taking place, because it
can lead to partial upgrades behaving incorrectly. It is likely that
this class of bugs will become release-critical later in the bookworm
development cycle.

The attached patch resolves this by specifying the paths that work for
both merged-/usr and non-merged-/usr.

A side benefit of fixing this is that this change seems likely to be
sufficient to make the package reproducible (as recommended by Policy
§4.15).

    smcv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-d-rules-Specify-interoperable-path-for-systemctl-and.patch
Type: text/x-diff
Size: 955 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-ha-maintainers/attachments/20211112/5b72bea1/attachment.patch>


More information about the Debian-ha-maintainers mailing list