From: Zac Medico Date: Tue, 27 Apr 2010 22:49:05 +0000 (-0700) Subject: In bintree.inject(), ensure that _pkgindex_entry returns local metadata X-Git-Tag: v2.2_rc68~635 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=436edc72f1f7a21e763f2ddb20fbb790be573f39;p=portage.git In bintree.inject(), ensure that _pkgindex_entry returns local metadata rather than remote metadata. Thanks to Kenneth Waters for reporting. --- 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.