summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-12-02 22:20:34 +0000
committerZac Medico <zmedico@gentoo.org>2008-12-02 22:20:34 +0000
commitaa66ee37897073357f1e162e6d3576c8b44a0bec (patch)
treed1c248349c4424b115cc26444bd4da2770e2c61e /bin
parentFix inconsistencies between the "clean" and "cleanrm" phases. (trunk r12126) (diff)
downloadportage-multirepo-aa66ee37897073357f1e162e6d3576c8b44a0bec.tar.gz
portage-multirepo-aa66ee37897073357f1e162e6d3576c8b44a0bec.tar.bz2
portage-multirepo-aa66ee37897073357f1e162e6d3576c8b44a0bec.zip
Source bashrc files as late as possible, giving them the opportunity to
override as much as possible. Thanks to Ned Ludd <solar@g.o> for the suggestion. (trunk r12134) svn path=/main/branches/2.1.6/; revision=12135
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ebuild.sh9
-rwxr-xr-xbin/isolated-functions.sh3
-rwxr-xr-xbin/misc-functions.sh1
3 files changed, 8 insertions, 5 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 87f94717..197be269 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1492,6 +1492,8 @@ _ebuild_phase_funcs() {
esac
}
+PORTAGE_BASHRCS_SOURCED=0
+
# @FUNCTION: source_all_bashrcs
# @DESCRIPTION:
# Source a relevant bashrc files and perform other miscellaneous
@@ -1504,6 +1506,8 @@ _ebuild_phase_funcs() {
# function for the current phase.
#
source_all_bashrcs() {
+ [[ $PORTAGE_BASHRCS_SOURCED = 1 ]] && return 0
+ PORTAGE_BASHRCS_SOURCED=1
local x
if [[ -n $EBUILD_PHASE && -n $EAPI ]] ; then
@@ -1840,7 +1844,6 @@ if ! hasq "$EBUILD_PHASE" clean cleanrm depend && \
;;
esac
- source_all_bashrcs
fi
if ! hasq "$EBUILD_PHASE" clean cleanrm && \
@@ -1888,9 +1891,6 @@ fi
# code can simply assume that it's defined.
[[ -n $EAPI ]] || EAPI=0
-# enable bashrc support for the clean phase
-hasq "$EBUILD_PHASE" clean cleanrm && source_all_bashrcs
-
# unset USE_EXPAND variables that contain only the special "*" token
for x in ${USE_EXPAND} ; do
[ "${!x}" == "*" ] && unset ${x}
@@ -1918,6 +1918,7 @@ if [ "${EBUILD_PHASE}" != "depend" ] ; then
fi
ebuild_main() {
+ source_all_bashrcs
local f x
local export_vars="ASFLAGS CCACHE_DIR CCACHE_SIZE
CFLAGS CXXFLAGS LDFLAGS LIBCFLAGS LIBCXXFLAGS"
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 77336d91..9ed933c0 100755
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -514,7 +514,8 @@ save_ebuild_env() {
GOOD HILITE HOME IMAGE \
LAST_E_CMD LAST_E_LEN LD_PRELOAD MISC_FUNCTIONS_ARGS MOPREFIX \
NORMAL PKGDIR PKGUSE PKG_LOGDIR PKG_TMPDIR \
- PORTAGE_ACTUAL_DISTDIR PORTAGE_ARCHLIST PORTAGE_BASHRC \
+ PORTAGE_ACTUAL_DISTDIR PORTAGE_ARCHLIST \
+ PORTAGE_BASHRC PORTAGE_BASHRCS_SOURCED \
PORTAGE_BINPKG_TAR_OPTS PORTAGE_BINPKG_TMPFILE PORTAGE_BUILDDIR \
PORTAGE_COLORMAP PORTAGE_CONFIGROOT PORTAGE_DEBUG \
PORTAGE_DEPCACHEDIR PORTAGE_GID PORTAGE_INST_GID \
diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index f1f70553..8ce82a2a 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -710,6 +710,7 @@ dyn_rpm() {
}
if [ -n "${MISC_FUNCTIONS_ARGS}" ]; then
+ source_all_bashrcs
[ "$PORTAGE_DEBUG" == "1" ] && set -x
for x in ${MISC_FUNCTIONS_ARGS}; do
${x}