summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/ebuild.sh7
1 files changed, 7 insertions, 0 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 3a4273c85..bf1ba9019 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1599,6 +1599,13 @@ fi
if hasq ${EBUILD_SH_ARGS} clean ; then
true
elif ! hasq ${EBUILD_PHASE} depend && [ -f "${T}"/environment ] ; then
+ if [ "${PN}" == "portage" ] ; then
+ # When portage reinstalls itself, during inst/rm phases, the
+ # environment may have been saved by a different version of ebuild.sh,
+ # so it can't trusted that it's been properly filtered. Therefore,
+ # always preprocess the environment when ${PN} == portage.
+ preprocess_ebuild_env
+ fi
source "${T}"/environment
else
# *DEPEND and IUSE will be set during the sourcing of the ebuild.