summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Package.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-08-24 21:08:47 -0700
committerZac Medico <zmedico@gentoo.org>2012-08-24 21:08:47 -0700
commit741093a384ff8256965ec4842664216cf911bcb5 (patch)
treee5d26f51a5454b8d5a7dafdc375076efa4de93e8 /pym/_emerge/Package.py
parentc74972c6b1e30232ab961f0206cdee81b7e4c5f5 (diff)
downloadportage-741093a384ff8256965ec4842664216cf911bcb5.tar.gz
portage-741093a384ff8256965ec4842664216cf911bcb5.tar.bz2
portage-741093a384ff8256965ec4842664216cf911bcb5.zip
_pkg_str: pass in config + metadata with KEYWORDS
This will be needed in order to support stable use.mask/force for bug #431078.
Diffstat (limited to 'pym/_emerge/Package.py')
-rw-r--r--pym/_emerge/Package.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 14d069449..c8a0c9042 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -17,6 +17,9 @@ from _emerge.Task import Task
if sys.hexversion >= 0x3000000:
basestring = str
long = int
+ _unicode = str
+else:
+ _unicode = unicode
class Package(Task):
@@ -51,9 +54,8 @@ class Package(Task):
if not self.built:
self.metadata['CHOST'] = self.root_config.settings.get('CHOST', '')
eapi_attrs = _get_eapi_attrs(self.metadata["EAPI"])
- self.cpv = _pkg_str(self.cpv, slot=self.metadata["SLOT"],
- repo=self.metadata.get('repository', ''),
- eapi=self.metadata["EAPI"])
+ self.cpv = _pkg_str(self.cpv, metadata=self.metadata,
+ settings=self.root_config.settings)
if hasattr(self.cpv, 'slot_invalid'):
self._invalid_metadata('SLOT.invalid',
"SLOT: invalid value: '%s'" % self.metadata["SLOT"])
@@ -87,6 +89,11 @@ class Package(Task):
type_name=self.type_name)
self._hash_value = hash(self._hash_key)
+ # For consistency with _pkg_str
+ @property
+ def _metadata(self):
+ return self.metadata
+
# These are calculated on-demand, so that they are calculated
# after FakeVartree applies its metadata tweaks.
@property
@@ -154,7 +161,7 @@ class Package(Task):
# So overwrite the repo_key with type_name.
repo_key = type_name
- return (type_name, root, cpv, operation, repo_key)
+ return (type_name, root, _unicode(cpv), operation, repo_key)
def _validate_deps(self):
"""