summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-12-12 00:19:46 +0000
committerZac Medico <zmedico@gentoo.org>2008-12-12 00:19:46 +0000
commitebd27b7b8e52c29c9f0d034ac9c88289023d8fc6 (patch)
tree131073e985482fd848454f1fc67bb2f3cd6e904b
parentFix --getbinpkgonly behavior so that binaries from the remote server are (diff)
downloadportage-multirepo-ebd27b7b8e52c29c9f0d034ac9c88289023d8fc6.tar.gz
portage-multirepo-ebd27b7b8e52c29c9f0d034ac9c88289023d8fc6.tar.bz2
portage-multirepo-ebd27b7b8e52c29c9f0d034ac9c88289023d8fc6.zip
Fix old-style binhost code binarytree.digestCheck() will use local digests when
a local package overrides a remote one. svn path=/main/trunk/; revision=12208
-rw-r--r--pym/portage/dbapi/bintree.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py
index 0fa2db06..7c6cd598 100644
--- a/pym/portage/dbapi/bintree.py
+++ b/pym/portage/dbapi/bintree.py
@@ -740,6 +740,11 @@ class binarytree(object):
continue
mycat = self.remotepkgs[mypkg]["CATEGORY"].strip()
fullpkg = mycat+"/"+mypkg[:-5]
+
+ if not getbinpkgsonly and fullpkg in metadata:
+ # Local package overrides the remote one.
+ continue
+
if not self.dbapi._category_re.match(mycat):
writemsg(("!!! Remote binary package has an " + \
"unrecognized category: '%s'\n") % fullpkg,
@@ -754,10 +759,10 @@ class binarytree(object):
# invalid tbz2's can hurt things.
#print "cpv_inject("+str(fullpkg)+")"
self.dbapi.cpv_inject(fullpkg)
- metadata = self.remotepkgs[mypkg]
- for k, v in metadata.items():
- metadata[k] = v.strip()
- self._remotepkgs[fullpkg] = metadata
+ remote_metadata = self.remotepkgs[mypkg]
+ for k, v in remote_metadata.items():
+ remote_metadata[k] = v.strip()
+ self._remotepkgs[fullpkg] = remote_metadata
#print " -- Injected"
except SystemExit, e:
raise