From 191ef888f86d443e8b10505d0d9876eb91dc065f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 12 Jan 2007 02:44:24 +0000 Subject: Fix ebuild environment color.map support so that it works properly through exec calls (since the color variables can not be directly exported due to env pollution). svn path=/main/trunk/; revision=5578 --- bin/isolated-functions.sh | 16 +++++++++------- pym/portage.py | 4 +++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh index 5b2c82f7c..5aa838ba9 100644 --- a/bin/isolated-functions.sh +++ b/bin/isolated-functions.sh @@ -209,16 +209,18 @@ set_colors() { ENDCOL=$'\e[A\e['${COLS}'C' # Now, ${ENDCOL} will move us to the end of the # column; irregardless of character width - - [ -z "${GOOD}" ] && GOOD=$'\e[32;01m' - [ -z "${WARN}" ] && WARN=$'\e[33;01m' - [ -z "${BAD}" ] && BAD=$'\e[31;01m' - [ -z "${HILITE}" ] && HILITE=$'\e[36;01m' - [ -z "${BRACKET}" ] && BRACKET=$'\e[34;01m' + if [ -n "${PORTAGE_COLORMAP}" ] ; then + eval ${PORTAGE_COLORMAP} + else + GOOD=$'\e[32;01m' + WARN=$'\e[33;01m' + BAD=$'\e[31;01m' + HILITE=$'\e[36;01m' + BRACKET=$'\e[34;01m' + fi NORMAL=$'\e[0m' } -export -n GOOD WARN BAD HILITE BRACKET RC_ENDCOL="yes" RC_INDENTATION='' RC_DEFAULT_INDENT=2 diff --git a/pym/portage.py b/pym/portage.py index 4bf3a9353..0952bd5f8 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -2976,8 +2976,10 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m mysettings["KVERS"]=myso[1] # Allow color.map to control colors associated with einfo, ewarn, etc... + mycolors = [] for c in ("GOOD", "WARN", "BAD", "HILITE", "BRACKET"): - mysettings[c] = output.codes[c] + mycolors.append("%s=$'%s'" % (c, output.codes[c])) + mysettings["PORTAGE_COLORMAP"] = "\n".join(mycolors) def prepare_build_dirs(myroot, mysettings, cleanup): -- cgit v1.2.3-1-g7c22