From b4e246839d42a3c9a839801759c20f69c27df964 Mon Sep 17 00:00:00 2001 From: David Seifert Date: Sun, 9 Feb 2020 22:31:09 -0600 Subject: [PATCH] sys-apps/baselayout: Remove symlinked components when USE="-split-usr" Closes: https://bugs.gentoo.org/708698 Package-Manager: Portage-2.3.87, Repoman-2.3.20 Signed-off-by: William Hubbs --- sys-apps/baselayout/baselayout-9999.ebuild | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sys-apps/baselayout/baselayout-9999.ebuild b/sys-apps/baselayout/baselayout-9999.ebuild index 274767b5eab0..a4b8ca535ac9 100644 --- a/sys-apps/baselayout/baselayout-9999.ebuild +++ b/sys-apps/baselayout/baselayout-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -188,6 +188,16 @@ src_prepare() { echo ROOTPATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host fi + # don't want symlinked directories in PATH on systems with usr-merge + if ! use split-usr; then + sed \ + -e 's|/usr/local/sbin:||g' \ + -e 's|:/usr/sbin:|:|g' \ + -e 's|:/sbin:|:|g' \ + -e 's|:/bin:|:|g' \ + -i etc/env.d/50baselayout || die + fi + # handle multilib paths. do it here because we want this behavior # regardless of the C library that you're using. we do explicitly # list paths which the native ldconfig searches, but this isn't @@ -196,7 +206,8 @@ src_prepare() { # path and the symlinked path doesn't change the resulting cache. local libdir ldpaths for libdir in $(get_all_libdirs) ; do - ldpaths+=":${EPREFIX}/${libdir}:${EPREFIX}/usr/${libdir}" + use split-usr && ldpaths+=":${EPREFIX}/${libdir}" + ldpaths+=":${EPREFIX}/usr/${libdir}" ldpaths+=":${EPREFIX}/usr/local/${libdir}" done echo "LDPATH='${ldpaths#:}'" >> etc/env.d/50baselayout -- 2.26.2