For bug #167795, try avoid the population routine when possible, so that FEATURES...
authorZac Medico <zmedico@gentoo.org>
Tue, 20 Feb 2007 21:49:14 +0000 (21:49 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 20 Feb 2007 21:49:14 +0000 (21:49 -0000)
svn path=/main/branches/2.1.2/; revision=6020

pym/portage.py

index fadc9cec5e0ba8621c697a0a9f08c77921aebb3f..90d18ca3849fc18c9fcb29ed6a1103f0157d0448 100644 (file)
@@ -6434,6 +6434,17 @@ class binarytree(object):
                use for a given cpv.  If a collision will occur with an existing
                package from another category, the existing package will be bumped to
                ${PKGDIR}/${CATEGORY}/${PF}.tbz2 so that both can coexist."""
+               if not self.populated:
+                       # Try to avoid the population routine when possible, so that
+                       # FEATURES=buildpkg doesn't always force population.
+                       mycat, mypkg = catsplit(cpv)
+                       myfile = mypkg + ".tbz2"
+                       full_path = os.path.join(self.pkgdir, "All", myfile)
+                       if not os.path.exists(full_path):
+                               return
+                       tbz2_cat = xpak.tbz2(full_path).getfile("CATEGORY")
+                       if tbz2_cat and tbz2_cat.strip() == mycat:
+                               return
                full_path = self.getname(cpv)
                if "All" == full_path.split(os.path.sep)[-2]:
                        return