diff options
-rwxr-xr-x | bin/ebuild.sh | 4 | ||||
-rw-r--r-- | pym/portage/package/ebuild/_ipc/QueryCommand.py | 10 |
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 |