-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
rm -f "${EROOT}"/etc/._cfg????_gentoo-release
}
-src_prepare() {
- if use prefix-chain; then
- eapply "${FILESDIR}"/baselayout-${PV}-prefix-chaining.patch
-
- # need to set the PKG_CONFIG_PATH globally for this prefix, when
- # chaining is enabled, since pkg-config may not be installed locally,
- # but still .pc files should be found for all RDEPENDable prefixes in
- # the chain.
- echo "PKG_CONFIG_PATH=\"/usr/lib/pkgconfig:/usr/share/pkgconfig\"" >> etc/env.d/00basic
- echo "PORTAGE_OVERRIDE_EPREFIX=\"${EPREFIX}\"" >> etc/env.d/00basic
- echo "PORTAGE_CONFIGROOT=\"${EPREFIX}\"" >> etc/env.d/00basic
- echo "EPREFIX=\"${EPREFIX}\"" >> etc/env.d/00basic
- fi
- default
-}
-
src_install() {
# make functions.sh available in /etc/init.d (from gentoo-functions)
# Note: we cannot replace the symlink with a file here, or Portage will
-e "/PATH=/!s:/\(etc\|usr/bin\|bin\):\"${EPREFIX}\"/\1:g" \
-e "/PATH=/s|\([:\"]\)/|\1${EPREFIX}/|g" \
etc/profile > "${ED}"/etc/profile || die
- if ! use prefix-chain; then
- sed \
- -e "/PATH=.*\/sbin/s|\"$|:/usr/sbin:/sbin\"|" \
- -e "/PATH=.*\/bin/s|\"$|:/usr/bin:/bin\"|" \
- -i "${ED}"/etc/profile || die
- fi
+ sed \
+ -e "/PATH=.*\/sbin/s|\"$|:/usr/sbin:/sbin\"|" \
+ -e "/PATH=.*\/bin/s|\"$|:/usr/bin:/bin\"|" \
+ -i "${ED}"/etc/profile || die
dodir etc/env.d
sed \
-e "s:/\(etc/env.d\|opt\|usr\):${EPREFIX}/\1:g" \
+++ /dev/null
---- a/etc/profile
-+++ b/etc/profile
-@@ -4,6 +4,46 @@
- # environment for login shells.
- #
-
-+#
-+# for prefix-chaining, the very first thing to do is to load
-+# the profiles for all chained instances above.
-+#
-+# TODO: is it safe in any case to shell source make.conf?
-+# don't do any recursive expansion here. if the parent can
-+# use READONLY_EPREFIX's, it has to have the same profile as
-+# we have here, and thus it will source parents before
-+# evaluating anything from itself.
-+#
-+if [[ -r /etc/portage/make.conf ]]; then
-+ _ro_root=$(. /etc/portage/make.conf && echo $READONLY_EPREFIX)
-+elif [[ -r /etc/make.conf ]]; then
-+ _ro_root=$(. /etc/make.conf && echo $READONLY_EPREFIX)
-+else
-+ echo "Failed to read" /etc/portage/make.conf >&2
-+fi
-+_ro_deps=${_ro_root#*:}
-+_ro_root=${_ro_root%:*}
-+if [ -n "${_ro_root}" -a -f "${_ro_root}/"etc/profile ]; then
-+ . "${_ro_root}/"etc/profile
-+fi
-+
-+#
-+# With prefix-chaining we want another set of variables that
-+# should be retained for all prefixes. for example it is ok
-+# to retain PKG_CONFIG_PATH if the parent of the chain can
-+# be used to resolve RDEPEND...
-+#
-+if [[ -n "${_ro_root}" ]]; then
-+ _ro_chained_path_vars="PATH MANPATH"
-+
-+ [[ ${_ro_deps} == *RDEPEND* ]] &&
-+ _ro_chained_path_vars="${_ro_chained_path_vars} PKG_CONFIG_PATH"
-+
-+ for var in ${_ro_chained_path_vars}; do
-+ eval "_ro_backupenv_paths_${var}=\${${var}}"
-+ done
-+fi
-+
- # Load environment settings from profile.env, which is created by
- # env-update from the files in /etc/env.d
- if [ -e /etc/profile.env ] ; then
-@@ -61,3 +101,17 @@
- [ -r "$sh" ] && . "$sh"
- done
- unset sh
-+
-+#
-+# finally chain the save variables for previous prefixes in the chain.
-+#
-+if [[ -n "${_ro_chained_path_vars}" ]]; then
-+ for var in ${_ro_chained_path_vars}; do
-+ eval "export ${var}=\${${var}}:\${_ro_backupenv_paths_${var}}"
-+ eval "unset _ro_backupenv_paths_${var}"
-+ done
-+fi
-+
-+unset _ro_root
-+unset _ro_deps
-+unset _ro_chained_path_vars