Quicky description of the bug is that A was being defined to '' in the ebuild env; due to the fact ebuild.sh automatically stomps the current passed in env with the previous env (it's bad, we know it already :), this resulted in A getting auto set to a bad value, and the value lingering.
Attached is a patch that fixes this particular issue. Old bug from the looks of it also, since that declare's been there for quite some time. Already in svn also, posting for those interested, and those affected. ~harring
Index: bin/ebuild.sh =================================================================== --- bin/ebuild.sh (revision 2082) +++ bin/ebuild.sh (working copy) @@ -1733,8 +1733,10 @@ unset E_IUSE E_DEPEND E_RDEPEND E_CDEPEND E_PDEPEND -declare -r T P PN PV PVR PR A D EBUILD EMERGE_FROM O PPID FILESDIR -declare -r PORTAGE_TMPDIR +for x in T P PN PV PVR PR A D EBUILD EMERGE_FROM O PPID FILESDIR PORTAGE_TMPDIR; do + [[ ${!x-UNSET_VAR} != UNSET_VAR ]] && declare -r ${!x} +done +unset x # Turn of extended glob matching so that g++ doesn't get incorrectly matched. shopt -u extglob
pgpLkmFz6MzPi.pgp
Description: PGP signature