Source: quilt
Version: 0.65-2
Severity: important
X-Debbugs-Cc: vi...@collabora.com

Steps to reproduce:

- make a chroot, container or VM without merged /usr, for example by
  running sbuild-createchroot on stretch (stretch's debootstrap
  defaults to not merged /usr)

- make a chroot, contianer or VM with merged /usr, for example by
  running sbuild-createchroot on buster (buster's debootstrap
  defaults to merged /usr) or by installing the usrmerge package

- build quilt in each of those environments

Expected result:

- in both cases, /usr/bin/quilt is a #!/bin/bash script that will work on
  both merged and unmerged /usr systems

- helper scripts /usr/share/quilt/add, etc. are also #!/bin/bash scripts

Actual result:

- the copy of quilt built in the merged-/usr environment is a
  #!/usr/bin/bash script that will only work on merged-/usr systems

- helper scripts /usr/share/quilt/add, etc. are also #!/usr/bin/bash scripts

- running Lintian on the binaries from the merged-/usr environment warns
  about this:
  E: quilt: wrong-path-for-interpreter usr/bin/quilt (#!/usr/bin/bash != 
/bin/bash)
  (etc.)

When I say "merged /usr" above, I mean a system where all static files
have been moved into /usr, with /bin, /sbin, /lib* as compat symlinks to
/usr/bin, /usr/sbin, /usr/lib*.

I believe the solution is to pass --with-bash=/bin/bash to configure,
similar to the way src:systemd sets various binary locations to paths in
/bin or /sbin.

I'm initially filing this bug as important, but I'm going to discuss with
the release team whether bugs similar to this should be treated as RC,
so it might get upgraded to a RC severity later.

    smcv

Reply via email to