commit:     bc53f538039006f49bdcd19d3f17ab7f6b7a48d9
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 26 21:13:41 2015 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Tue Apr 28 23:45:41 2015 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=bc53f538

Make the USE variable readonly (bug 325009)

This requires the EBUILD_FORCE_TEST code from dyn_test to execute
before USE is declared readonly.

X-Gentoo-Bug: 325009
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=325009
Acked-by: Brian Dolbec <dolsen <AT> gentoo.org>

 bin/ebuild.sh          | 10 +++++++++-
 bin/phase-functions.sh |  9 +--------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index b6b3723..4e26f87 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 PORTAGE_BIN_PATH="${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"
@@ -746,6 +746,14 @@ else
                declare -r ED EPREFIX EROOT
        fi
 
+       # If ${EBUILD_FORCE_TEST} == 1 and USE came from ${T}/environment
+       # then it might not have USE=test like it's supposed to here.
+       if [[ ${EBUILD_PHASE} == test && ${EBUILD_FORCE_TEST} == 1 &&
+               test =~ ${PORTAGE_IUSE} ]] && ! has test ${USE} ; then
+               export USE="${USE} test"
+       fi
+       declare -r USE
+
        if [[ -n $EBUILD_SH_ARGS ]] ; then
                (
                        # Don't allow subprocesses to inherit the pipe which

diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index 2743e27..7bf4d63 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 # Hardcoded bash lists are needed for backward compatibility with
@@ -489,13 +489,6 @@ __dyn_test() {
        elif [[ ${EBUILD_FORCE_TEST} != 1 ]] && ! has test ${FEATURES} ; then
                __vecho ">>> Test phase [not enabled]: ${CATEGORY}/${PF}"
        else
-               # If ${EBUILD_FORCE_TEST} == 1 and USE came from 
${T}/environment
-               # then it might not have USE=test like it's supposed to here.
-               if [[ ${EBUILD_FORCE_TEST} == 1 && test =~ ${PORTAGE_IUSE} ]] 
&& \
-                       ! has test ${USE} ; then
-                       export USE="${USE} test"
-               fi
-
                local save_sp=${SANDBOX_PREDICT}
                addpredict /
                __ebuild_phase pre_src_test

Reply via email to