summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/PackageArg.py5
-rw-r--r--pym/portage/package/ebuild/_config/KeywordsManager.py3
-rw-r--r--pym/portage/package/ebuild/_config/MaskManager.py3
-rw-r--r--pym/portage/package/ebuild/_config/helper.py5
-rw-r--r--pym/portage/package/ebuild/config.py5
-rw-r--r--pym/portage/package/ebuild/getmaskingstatus.py7
6 files changed, 18 insertions, 10 deletions
diff --git a/pym/_emerge/PackageArg.py b/pym/_emerge/PackageArg.py
index 02ea03495..ebfe4b21b 100644
--- a/pym/_emerge/PackageArg.py
+++ b/pym/_emerge/PackageArg.py
@@ -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,),
diff --git a/pym/portage/package/ebuild/_config/KeywordsManager.py b/pym/portage/package/ebuild/_config/KeywordsManager.py
index 51270f2d3..cd225549e 100644
--- a/pym/portage/package/ebuild/_config/KeywordsManager.py
+++ b/pym/portage/package/ebuild/_config/KeywordsManager.py
@@ -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:
diff --git a/pym/portage/package/ebuild/_config/MaskManager.py b/pym/portage/package/ebuild/_config/MaskManager.py
index c438eb7da..df93e105d 100644
--- a/pym/portage/package/ebuild/_config/MaskManager.py
+++ b/pym/portage/package/ebuild/_config/MaskManager.py
@@ -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:
diff --git a/pym/portage/package/ebuild/_config/helper.py b/pym/portage/package/ebuild/_config/helper.py
index ca720982f..4f4678187 100644
--- a/pym/portage/package/ebuild/_config/helper.py
+++ b/pym/portage/package/ebuild/_config/helper.py
@@ -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 = []
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 54ca8b33f..a3a7f8249 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -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):
diff --git a/pym/portage/package/ebuild/getmaskingstatus.py b/pym/portage/package/ebuild/getmaskingstatus.py
index 82b99d173..5901e5761 100644
--- a/pym/portage/package/ebuild/getmaskingstatus.py
+++ b/pym/portage/package/ebuild/getmaskingstatus.py
@@ -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):