diff options
-rwxr-xr-x | bin/ebuild.sh | 7 |
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. |