summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/dbapi/bintree.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py
index caa17699f..8a7112fde 100644
--- a/pym/portage/dbapi/bintree.py
+++ b/pym/portage/dbapi/bintree.py
@@ -943,6 +943,12 @@ class binarytree(object):
if not self._pkgindex_version_supported(pkgindex):
pkgindex = self._new_pkgindex()
+ # Discard remote metadata to ensure that _pkgindex_entry
+ # gets the local metadata. This also updates state for future
+ # isremote calls.
+ if self._remotepkgs is not None:
+ self._remotepkgs.pop(cpv, None)
+
try:
d = self._pkgindex_entry(cpv)
except portage.exception.InvalidDependString:
@@ -981,11 +987,6 @@ class binarytree(object):
if pkgindex_lock:
unlockfile(pkgindex_lock)
- if self._remotepkgs is not None:
- # When a remote package is downloaded and injected,
- # update state so self.isremote() returns False.
- self._remotepkgs.pop(cpv, None)
-
def _pkgindex_entry(self, cpv):
"""
Performs checksums and evaluates USE flag conditionals.