From 5bdade865eabccd67727e59093689e0e59adeccd Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sat, 28 Dec 2024 11:50:05 -0600 Subject: [PATCH] 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. --- prepare.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prepare.sh b/prepare.sh index 02a2747..bad0e5f 100755 --- a/prepare.sh +++ b/prepare.sh @@ -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) \