From: Zac Medico Date: Sat, 12 Jan 2008 01:35:08 +0000 (-0000) Subject: In preprocess_ebuild_env(), move a filter_readonly_variables call X-Git-Tag: v2.2_pre1~51 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a274e7f148d00d107ef05e2ecfbb8d62216de9bc;p=portage.git In preprocess_ebuild_env(), move a filter_readonly_variables call out of a subshell since FreeBSD and prefix users have reported apparent corruption of the PATH environment variable that triggers calls to the wrong version of sed (one that does not support the -r option). An example of what users have observed: >>> Source compiled. sed: illegal option -- r usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] Traceback (most recent call last): File "/usr/lib/portage/bin/filter-bash-environment.py", line 51, in compile_egrep_pattern(args[0]), file_in, file_out) File "/usr/lib/portage/bin/filter-bash-environment.py", line 34, in filter_bash_environment file_out.write(line) IOError: [Errno 32] Broken pipe svn path=/main/trunk/; revision=9194 --- diff --git a/bin/ebuild.sh b/bin/ebuild.sh index ef21d222d..81ea96eb2 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -1486,10 +1486,11 @@ preprocess_ebuild_env() { # and functions that could interfere with the current environment. save_ebuild_env || exit $? touch "${T}/environment.success" || exit $? - ) | filter_readonly_variables > "${T}/environment.filtered" + ) > "${T}/environment.filtered" local retval if [ -e "${T}/environment.success" ] ; then - mv "${T}/environment.filtered" "${T}/environment" + filter_readonly_variables < \ + "${T}/environment.filtered" > "${T}/environment" || return $? retval=$? else retval=1