Make dep_zapdeps() fall back to installed packages in it's
authorZac Medico <zmedico@gentoo.org>
Thu, 20 Dec 2007 13:08:23 +0000 (13:08 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 20 Dec 2007 13:08:23 +0000 (13:08 -0000)
availability test in cases where the package does not
appear to be masked. This solves dep selection preference
issues when working without a portage tree. (trunk r8988)

svn path=/main/branches/2.1.2/; revision=8989

pym/portage.py

index 6bb041d4ad75d32e7f273a4c6e508d9ce0118a65..bfb330095463a18b8744d01dfa614c2957f04d7e 100644 (file)
@@ -5210,7 +5210,8 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
                        if avail_pkg:
                                avail_slot = "%s:%s" % (dep_getkey(atom),
                                        mydbapi.aux_get(avail_pkg, ["SLOT"])[0])
-                       elif not avail_pkg and use_binaries:
+                       elif not avail_pkg and \
+                               (use_binaries or not mydbapi.cp_list(dep_getkey(atom))):
                                # With --usepkgonly, count installed packages as "available".
                                # Note that --usepkgonly currently has no package.mask support.
                                # See bug #149816.