remove libgcc1 for libc6 >= 2.30-2

The buildd variant of debootstrap will install libgcc-s1 *and* libgcc1
even though the former provides the latter. Remove the latter manually.

Since apt does not consider libgcc1 necessary, we have to download it
explicitly for debootstrap.

See Debian bug 
This commit is contained in:
Johannes 'josch' Schauer 2020-03-15 11:25:22 +01:00
parent 5fae5e83f9
commit a91d7440cb
Signed by untrusted user: josch
GPG key ID: F2CBA5C78FBD83E1
2 changed files with 10 additions and 1 deletions

View file

@ -131,6 +131,15 @@ tar --xattrs --xattrs-include='*' -C /tmp/debian-$dist-mm -xf /tmp/debian-$dist-
mkdir /tmp/debian-$dist-debootstrap
tar --xattrs --xattrs-include='*' -C /tmp/debian-$dist-debootstrap -xf "cache/debian-$dist-$variant.tar"
# The buildd variant of debootstrap will install libgcc-s1 *and* libgcc1 even
# though the former provides the latter. Remove the latter manually.
if [ "$variant" = "buildd" ] \
&& chroot /tmp/debian-$dist-debootstrap dpkg -s libgcc-s1 2>&1 | grep --quiet '^Status: install ok installed$' \
&& chroot /tmp/debian-$dist-debootstrap dpkg -s libgcc1 2>&1 | grep --quiet '^Status: install ok installed$' \
&& dpkg --compare-versions "\$(chroot /tmp/debian-$dist-debootstrap dpkg -s libc6 | grep '^Version:' | cut -d ' ' -f 2)" ge 2.30-2; then
chroot /tmp/debian-$dist-debootstrap dpkg --remove libgcc1
fi
# diff cannot compare device nodes, so we use tar to do that for us and then
# delete the directory
tar -C /tmp/debian-$dist-debootstrap -cf dev1.tar ./dev

View file

@ -239,7 +239,7 @@ END
--or --field=Priority important --or --field=Priority standard \
--or --field=Package build-essential \) )
pkgs="$(echo $pkgs) build-essential busybox gpg"
pkgs="$(echo $pkgs) build-essential busybox gpg libgcc1"
APT_CONFIG="$rootdir/etc/apt/apt.conf" apt-get --yes install $pkgs