Use Package.UNKNOWN_REPO where appropriate.
authorZac Medico <zmedico@gentoo.org>
Mon, 6 Jun 2011 10:03:58 +0000 (03:03 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 6 Jun 2011 10:03:58 +0000 (03:03 -0700)
pym/_emerge/PackageArg.py
pym/portage/package/ebuild/_config/KeywordsManager.py
pym/portage/package/ebuild/_config/MaskManager.py
pym/portage/package/ebuild/_config/helper.py
pym/portage/package/ebuild/config.py
pym/portage/package/ebuild/getmaskingstatus.py

index 02ea0349510d754ce78ddeb149f4e70117da3a91..ebfe4b21b5dce37f2d3864c5f9050e16511bb302 100644 (file)
@@ -1,7 +1,8 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from _emerge.DependencyArg import DependencyArg
+from _emerge.Package import Package
 import portage
 from portage._sets.base import InternalPackageSet
 from portage.dep import _repo_separator
@@ -11,7 +12,7 @@ class PackageArg(DependencyArg):
                DependencyArg.__init__(self, **kwargs)
                self.package = package
                atom = "=" + package.cpv
-               if package.type_name == 'ebuild':
+               if package.repo != Package.UNKNOWN_REPO:
                        atom += _repo_separator + package.repo
                self.atom = portage.dep.Atom(atom, allow_repo=True)
                self.pset = InternalPackageSet(initial_atoms=(self.atom,),
index 51270f2d3ab65efe3e7b8ca103a3117e1c409bb5..cd225549eaa1ed12aef552888e444f402c2185bb 100644 (file)
@@ -5,6 +5,7 @@ __all__ = (
        'KeywordsManager',
 )
 
+from _emerge.Package import Package
 from portage import os
 from portage.dep import ExtendedAtomDict, _repo_separator, _slot_separator
 from portage.localization import _
@@ -76,7 +77,7 @@ class KeywordsManager(object):
        def getKeywords(self, cpv, slot, keywords, repo):
                cp = cpv_getkey(cpv)
                pkg = "".join((cpv, _slot_separator, slot))
-               if repo:
+               if repo and repo != Package.UNKNOWN_REPO:
                        pkg = "".join((pkg, _repo_separator, repo))
                keywords = [[x for x in keywords.split() if x != "-*"]]
                for pkeywords_dict in self._pkeywords_list:
index c438eb7da2f8931f3f87da905c44e778601fa21f..df93e105d58c86aad0cf852452e43c0f9066e657 100644 (file)
@@ -9,6 +9,7 @@ from portage import os
 from portage.dep import ExtendedAtomDict, match_from_list, _repo_separator, _slot_separator
 from portage.util import append_repo, grabfile_package, stack_lists
 from portage.versions import cpv_getkey
+from _emerge.Package import Package
 
 class MaskManager(object):
 
@@ -134,7 +135,7 @@ class MaskManager(object):
                mask_atoms = self._pmaskdict.get(cp)
                if mask_atoms:
                        pkg = "".join((cpv, _slot_separator, slot))
-                       if repo:
+                       if repo and repo != Package.UNKNOWN_REPO:
                                pkg = "".join((pkg, _repo_separator, repo))
                        pkg_list = [pkg]
                        for x in mask_atoms:
index ca720982fae1d3fb93405237124c868720404020..4f467818756a52e5cf0b7408b75d7bad838468b3 100644 (file)
@@ -1,10 +1,11 @@
-# Copyright 2010 Gentoo Foundation
+# Copyright 2010-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 __all__ = (
        'ordered_by_atom_specificity', 'prune_incremental',
 )
 
+from _emerge.Package import Package
 from portage.dep import best_match_to_list, _repo_separator
 
 def ordered_by_atom_specificity(cpdict, pkg, repo=None):
@@ -23,7 +24,7 @@ def ordered_by_atom_specificity(cpdict, pkg, repo=None):
        order to achieve desired results (and thus corrupting
        the ChangeLog like ordering of the file).
        """
-       if repo is not None:
+       if repo and repo != Package.UNKNOWN_REPO:
                pkg = pkg + _repo_separator + repo
 
        results = []
index 54ca8b33f6aae01b2aade406251659bddd90a570..a3a7f8249f53eb84bf130df30fa026c5f0088f26 100644 (file)
@@ -1412,8 +1412,9 @@ class config(object):
                profile_atoms = self.prevmaskdict.get(cp)
                if profile_atoms:
                        pkg = "".join((cpv, _slot_separator, metadata["SLOT"]))
-                       if 'repository' in metadata:
-                               pkg = "".join((pkg, _repo_separator, metadata['repository']))
+                       repo = metadata.get("repository")
+                       if repo and repo != Package.UNKNOWN_REPO:
+                               pkg = "".join((pkg, _repo_separator, repo))
                        pkg_list = [pkg]
                        for x in profile_atoms:
                                if match_from_list(x, pkg_list):
index 82b99d173f417ca7cc2f424372fd078b2d663cae..5901e5761ca7d4afd0e8e785da7012e182d5fe7d 100644 (file)
@@ -11,6 +11,7 @@ from portage.dep import match_from_list, _slot_separator, _repo_separator
 from portage.localization import _
 from portage.package.ebuild.config import config
 from portage.versions import catpkgsplit, cpv_getkey
+from _emerge.Package import Package
 
 if sys.hexversion >= 0x3000000:
        basestring = str
@@ -104,8 +105,10 @@ def _getmaskingstatus(mycpv, settings, portdb, myrepo=None):
        matches = False
        if pkgdict:
                pkg = "".join((mycpv, _slot_separator, metadata["SLOT"]))
-               if 'repository' in metadata:
-                       pkg = "".join((pkg, _repo_separator, metadata['repository']))
+               if myrepo is None:
+                       myrepo = metadata.get("repository")
+               if myrepo is not None and myrepo != Package.UNKNOWN_REPO:
+                       pkg = "".join((pkg, _repo_separator, myrepo))
                cpv_slot_list = [pkg]
                for atom, pkgkeywords in pkgdict.items():
                        if match_from_list(atom, cpv_slot_list):