Clean up some local variables that are needlessly saved
authorZac Medico <zmedico@gentoo.org>
Wed, 21 Nov 2007 07:40:05 +0000 (07:40 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 21 Nov 2007 07:40:05 +0000 (07:40 -0000)
in the environment. (trunk r8573)

svn path=/main/branches/2.1.2/; revision=8574

bin/ebuild.sh

index ea871ee6694e2bd530b6efb170251e3515962f43..46755496962d1c2fbbb864694ece18a1c8ae701f 100755 (executable)
@@ -318,6 +318,7 @@ keepdir() {
 }
 
 unpack() {
+       local srcdir
        local x
        local y
        local myfail
@@ -909,10 +910,10 @@ dyn_compile() {
        fi
        if [ -d "${S}" ]; then
                srcdir=${S}
-               cd "${S}"
        else
-               cd "${WORKDIR}"
+               srcdir=${WORKDIR}
        fi
+       cd "${srcdir}"
        #our custom version of libtool uses $S and $D to fix
        #invalid paths in .la files
        export S D
@@ -928,6 +929,7 @@ dyn_compile() {
        cd build-info
 
        set -f
+       local f
        for f in ASFLAGS CATEGORY CBUILD CC CFLAGS CHOST CTARGET CXX \
                CXXFLAGS DEPEND EXTRA_ECONF EXTRA_EINSTALL EXTRA_MAKE \
                FEATURES INHERITED IUSE LDFLAGS LIBCFLAGS LIBCXXFLAGS \
@@ -939,6 +941,8 @@ dyn_compile() {
        echo "${EAPI:-0}"       > EAPI
        set +f
 
+       # local variables can leak into the saved environment.
+       unset f srcdir
        save_ebuild_env > environment
        bzip2 -f9 environment