summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-14 11:13:01 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-14 11:13:01 -0700
commitdf8fe2b2465df7af4f1f7fadba999ae9a1235d10 (patch)
treebb78af90b2ea11549fe48f00e95178f21f6d10fa
parent4b95add5d694f0b02936fad073dabf198728da12 (diff)
downloadportage-df8fe2b2465df7af4f1f7fadba999ae9a1235d10.tar.gz
portage-df8fe2b2465df7af4f1f7fadba999ae9a1235d10.tar.bz2
portage-df8fe2b2465df7af4f1f7fadba999ae9a1235d10.zip
Pass $USE via IPC in order to ensure that we have the correct value for
built/installed packages, since the config class doesn't currently provide a way to access built/installed $USE that would work in all possible scenarios.
-rwxr-xr-xbin/ebuild.sh4
-rw-r--r--pym/portage/package/ebuild/_ipc/QueryCommand.py10
2 files changed, 10 insertions, 4 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 32cda5012..18f96b655 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -160,7 +160,7 @@ has_version() {
fi
if [[ -n $PORTAGE_IPC_DAEMON ]] ; then
- "$PORTAGE_BIN_PATH"/ebuild-ipc has_version "$ROOT" "$1"
+ "$PORTAGE_BIN_PATH"/ebuild-ipc has_version "$ROOT" "$1" "$USE"
return $?
fi
@@ -203,7 +203,7 @@ best_version() {
fi
if [[ -n $PORTAGE_IPC_DAEMON ]] ; then
- "$PORTAGE_BIN_PATH"/ebuild-ipc best_version "$ROOT" "$1"
+ "$PORTAGE_BIN_PATH"/ebuild-ipc best_version "$ROOT" "$1" "$USE"
return $?
fi
diff --git a/pym/portage/package/ebuild/_ipc/QueryCommand.py b/pym/portage/package/ebuild/_ipc/QueryCommand.py
index 47095cb4c..ec52e400f 100644
--- a/pym/portage/package/ebuild/_ipc/QueryCommand.py
+++ b/pym/portage/package/ebuild/_ipc/QueryCommand.py
@@ -23,14 +23,20 @@ class QueryCommand(IpcCommand):
"""
@returns: tuple of (stdout, stderr, returncode)
"""
- cmd, root, atom = argv
+
+ # Note that $USE is passed via IPC in order to ensure that
+ # we have the correct value for built/installed packages,
+ # since the config class doesn't currently provide a way
+ # to access built/installed $USE that would work in all
+ # possible scenarios.
+ cmd, root, atom, use = argv
try:
atom = Atom(atom)
except InvalidAtom:
return ('', 'invalid atom: %s\n' % atom, 2)
- use = frozenset(self.settings['PORTAGE_USE'].split())
+ use = frozenset(use.split())
atom = atom.evaluate_conditionals(use)
db = self._db