prepare: disable preserve-libs for glibc

Since installing _sys-libs/glibc_ in the crossdev root overwrites the
libraries built by crossdev, Portage records the latter as needing to be
protected.  This results in _everything_ being pulled in to
@preserved-rebuild, which ultimately does nothing since the preserved
library is never replaced.  To avoid this pointlessness, we need to
disable the _preserve-libs_ feature when reinstalling _glibc_.

We also disable _protect-owned_ to avoid spam from Portage when
initially overwriting the libraries and headers in the crossdev root.

Note that the `{target}-emerge` wrapper seems to ignore `FEATURES` from
the environment variable, so we have to call `emerge` directly and pass
it the `root` and `sysroot` flags.
Dustin 2024-12-28 11:50:05 -06:00
parent 554063e1f4
commit 5bdade865e
1 changed files with 4 additions and 2 deletions

View File

@ -42,9 +42,11 @@ if [ ! -f portage/make.conf/10-crossdev.conf ]; then
> "${O}"/portage/etc/portage/make.conf/10-crossdev.conf
fi
FEATURES="${FEATURES}" \
FEATURES="${FEATURES} -preserve-libs -protect-owned" \
PKGDIR="${PKGDIR}" \
${target}-emerge -bk1nvj sys-libs/glibc
emerge -bk1nvj \
--root=/usr/"${target}" --sysroot=/usr/"${target}" \
sys-libs/glibc
FEATURES="${FEATURES}" \
PKGDIR=$(portageq envvar PKGDIR) \