Public bug reported:

It looks like the package breaks multistrap configurations (I attached
an example configuration below). It overrides the symlink from /bin to
/usr/bin and replaces it with a bin directory just containing the ip and
ss binaries. As a result, the multistrap build fails with the following
error because it can no longer finds a shell:

I: Native mode - configuring unpacked packages . . .
I: ./bin/sh symbolic link does not exist.
No shell in /tmp/rootfs/. at /usr/sbin/multistrap line 850.

root@dc4722711f17:/tmp# ls -la /tmp/rootfs/
total 60
drwxr-xr-x 15 root root 4096 Mar 31  2024 .
drwxrwxrwt  1 root root 4096 Oct 23 16:39 ..
drwxr-xr-x  2 root root 4096 Mar 31  2024 bin

root@dc4722711f17:/tmp# ls -la /tmp/rootfs/bin/
total 896
drwxr-xr-x  2 root root   4096 Mar 31  2024 .
drwxr-xr-x 15 root root   4096 Mar 31  2024 ..
-rwxr-xr-x  1 root root 772856 Mar 31  2024 ip
-rwxr-xr-x  1 root root 132168 Mar 31  2024 ss

I tried to work around this issue using the following script
(setupscript):

#!/usr/bin/env bash
set -e
pushd /tmp/rootfs/
mv bin/* usr/bin/
rmdir bin/
ln -s usr/bin/ bin
popd

This restores the previous existing symlink, allowing multistrap to find
the shell again:

I: Native mode - configuring unpacked packages . . .
I: Shell found OK in /tmp/rootfs/bin/sh:
lrwxrwxrwx 1 root root 4 Mar 31  2024 bin/sh -> dash

This is the multistrap configuration I use. You can comment or uncomment
the setupscript to demonstrate or workaround the issue:


[General]
arch=amd64
debootstrap=main
aptsources=main
setupscript=/tmp/setup.sh

[main]
packages=iproute2
additional=
source=http://de.archive.ubuntu.com/ubuntu/
keyring=ubuntu-keyring
suite=noble

cd /tmp/
mkdir rootfs
multistrap -f multistrap.conf -d rootfs

** Affects: iproute2 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to iproute2 in Ubuntu.
https://bugs.launchpad.net/bugs/2085460

Title:
  Multistrap build fails due to overwritten /bin symlink

Status in iproute2 package in Ubuntu:
  New

Bug description:
  It looks like the package breaks multistrap configurations (I attached
  an example configuration below). It overrides the symlink from /bin to
  /usr/bin and replaces it with a bin directory just containing the ip
  and ss binaries. As a result, the multistrap build fails with the
  following error because it can no longer finds a shell:

  I: Native mode - configuring unpacked packages . . .
  I: ./bin/sh symbolic link does not exist.
  No shell in /tmp/rootfs/. at /usr/sbin/multistrap line 850.

  root@dc4722711f17:/tmp# ls -la /tmp/rootfs/
  total 60
  drwxr-xr-x 15 root root 4096 Mar 31  2024 .
  drwxrwxrwt  1 root root 4096 Oct 23 16:39 ..
  drwxr-xr-x  2 root root 4096 Mar 31  2024 bin

  root@dc4722711f17:/tmp# ls -la /tmp/rootfs/bin/
  total 896
  drwxr-xr-x  2 root root   4096 Mar 31  2024 .
  drwxr-xr-x 15 root root   4096 Mar 31  2024 ..
  -rwxr-xr-x  1 root root 772856 Mar 31  2024 ip
  -rwxr-xr-x  1 root root 132168 Mar 31  2024 ss

  I tried to work around this issue using the following script
  (setupscript):

  #!/usr/bin/env bash
  set -e
  pushd /tmp/rootfs/
  mv bin/* usr/bin/
  rmdir bin/
  ln -s usr/bin/ bin
  popd

  This restores the previous existing symlink, allowing multistrap to
  find the shell again:

  I: Native mode - configuring unpacked packages . . .
  I: Shell found OK in /tmp/rootfs/bin/sh:
  lrwxrwxrwx 1 root root 4 Mar 31  2024 bin/sh -> dash

  This is the multistrap configuration I use. You can comment or
  uncomment the setupscript to demonstrate or workaround the issue:

  
  [General]
  arch=amd64
  debootstrap=main
  aptsources=main
  setupscript=/tmp/setup.sh

  [main]
  packages=iproute2
  additional=
  source=http://de.archive.ubuntu.com/ubuntu/
  keyring=ubuntu-keyring
  suite=noble

  cd /tmp/
  mkdir rootfs
  multistrap -f multistrap.conf -d rootfs

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/iproute2/+bug/2085460/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to