public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [gentoo-commits] proj/portage:master commit in: pym/portage/tests/emerge/, bin/
@ 2018-05-01 23:50 99% Zac Medico
  0 siblings, 0 replies; 1+ results
From: Zac Medico @ 2018-05-01 23:50 UTC (permalink / raw
  To: gentoo-commits

commit:     4bda6c546aab816e835f62b326db9c2215e182ac
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 23:37:33 2018 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Tue May  1 23:49:44 2018 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=4bda6c54

Revert "phase-helpers.sh: fix best/has_version -b for cross-prefix"

This reverts commit a0ac6e6727abec8d2482c95b1e84d8df24d78619,
since BROOT is only supposed to be set in src_* phases.
Update SimpleEmergeTestCase to call best/has_version -b only
in src_install for EAPI 7.

Reported-by: James Le Cuirot <chewi <AT> gentoo.org>

 bin/phase-helpers.sh                    |  2 +-
 pym/portage/tests/emerge/test_simple.py | 23 ++++++++++++++++++++---
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index 8b16d7d31..59c19cf67 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -912,7 +912,7 @@ ___best_version_and_has_version_common() {
 				case ${root_arg} in
 					-r) root=${EROOT} ;;
 					-d) root=${ESYSROOT} ;;
-					-b) root=${BROOT:-/${PORTAGE_OVERRIDE_EPREFIX#/}} ;;
+					-b) root=${BROOT:-/} ;;
 				esac
 			else
 				case ${root_arg} in

diff --git a/pym/portage/tests/emerge/test_simple.py b/pym/portage/tests/emerge/test_simple.py
index 204c23296..b1402ddd5 100644
--- a/pym/portage/tests/emerge/test_simple.py
+++ b/pym/portage/tests/emerge/test_simple.py
@@ -58,6 +58,8 @@ src_install() {
 	echo "blah blah blah" > "${T}"/latin-1-$(printf "\\xa9")-regular-file || die
 	doins "${T}"/latin-1-$(printf "\\xa9")-regular-file
 	dosym latin-1-$(printf "\\xa9")-regular-file ${latin_1_dir}/latin-1-$(printf "\\xa9")-symlink || die
+
+	call_has_and_best_version
 }
 
 pkg_config() {
@@ -69,14 +71,29 @@ pkg_info() {
 }
 
 pkg_preinst() {
+	if ! ___eapi_best_version_and_has_version_support_-b_-d_-r; then
+		# The BROOT variable is unset during pkg_* phases for EAPI 7,
+		# therefore best/has_version -b is expected to fail if we attempt
+		# to call it for EAPI 7 here.
+		call_has_and_best_version
+	fi
+}
+
+call_has_and_best_version() {
 	local root_arg
 	if ___eapi_best_version_and_has_version_support_-b_-d_-r; then
 		root_arg="-b"
 	else
 		root_arg="--host-root"
 	fi
-	einfo "called pkg_preinst for $CATEGORY/$PF"
-
+	einfo "called ${EBUILD_PHASE_FUNC} for $CATEGORY/$PF"
+	einfo "EPREFIX=${EPREFIX}"
+	einfo "PORTAGE_OVERRIDE_EPREFIX=${PORTAGE_OVERRIDE_EPREFIX}"
+	einfo "ROOT=${ROOT}"
+	einfo "EROOT=${EROOT}"
+	einfo "SYSROOT=${SYSROOT}"
+	einfo "ESYSROOT=${ESYSROOT}"
+	einfo "BROOT=${BROOT}"
 	# Test that has_version and best_version work correctly with
 	# prefix (involves internal ROOT -> EROOT calculation in order
 	# to support ROOT override via the environment with EAPIs 3
@@ -90,7 +107,7 @@ pkg_preinst() {
 	if [[ ${EPREFIX} != ${PORTAGE_OVERRIDE_EPREFIX} ]] ; then
 		if has_version ${root_arg} $CATEGORY/$PN:$SLOT ; then
 			einfo "has_version ${root_arg} detects an installed instance of $CATEGORY/$PN:$SLOT"
-			einfo "best_version ${root_arg} reports that the installed instance is $(best_version $CATEGORY/$PN:$SLOT)"
+			einfo "best_version ${root_arg} reports that the installed instance is $(best_version ${root_arg} $CATEGORY/$PN:$SLOT)"
 		else
 			einfo "has_version ${root_arg} does not detect an installed instance of $CATEGORY/$PN:$SLOT"
 		fi


^ permalink raw reply related	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2018-05-01 23:50 99% [gentoo-commits] proj/portage:master commit in: pym/portage/tests/emerge/, bin/ Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox