diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-08-24 21:08:47 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-08-24 21:08:47 -0700 |
commit | 741093a384ff8256965ec4842664216cf911bcb5 (patch) | |
tree | e5d26f51a5454b8d5a7dafdc375076efa4de93e8 /pym/_emerge/Package.py | |
parent | c74972c6b1e30232ab961f0206cdee81b7e4c5f5 (diff) | |
download | portage-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.py | 15 |
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): """ |