diff options
Diffstat (limited to 'pym/_emerge/Package.py')
-rw-r--r-- | pym/_emerge/Package.py | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 84a2cbced..c04fa1f8f 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -8,12 +8,10 @@ from portage import _encodings, _unicode_decode, _unicode_encode from portage.cache.mappings import slot_dict_class from portage.const import EBUILD_PHASES from portage.dep import Atom, check_required_use, use_reduce, \ - paren_enclose, _slot_re, _slot_separator, _repo_separator, \ - _unknown_repo -from portage.versions import _pkg_str + paren_enclose, _slot_re, _slot_separator, _repo_separator +from portage.versions import _pkg_str, _unknown_repo from portage.eapi import eapi_has_iuse_defaults, eapi_has_required_use from portage.exception import InvalidDependString -from portage.repository.config import _gen_valid_repo from _emerge.Task import Task if sys.hexversion >= 0x3000000: @@ -58,12 +56,11 @@ class Package(Task): # Avoid an InvalidAtom exception when creating slot_atom. # This package instance will be masked due to empty SLOT. slot = '0' - repo = _gen_valid_repo(self.metadata.get('repository', '')) - if not repo: - repo = self.UNKNOWN_REPO - self.metadata['repository'] = repo - self.cpv = _pkg_str(self.cpv, slot=slot, repo=repo) + self.cpv = _pkg_str(self.cpv, slot=slot, + repo=self.metadata.get('repository', '')) self.cp = self.cpv.cp + # sync metadata with validated repo (may be UNKNOWN_REPO) + self.metadata['repository'] = self.cpv.repo if (self.iuse.enabled or self.iuse.disabled) and \ not eapi_has_iuse_defaults(self.metadata["EAPI"]): if not self.installed: @@ -87,7 +84,7 @@ class Package(Task): self._hash_key = Package._gen_hash_key(cpv=self.cpv, installed=self.installed, onlydeps=self.onlydeps, - operation=self.operation, repo_name=repo, + operation=self.operation, repo_name=self.cpv.repo, root_config=self.root_config, type_name=self.type_name) self._hash_value = hash(self._hash_key) |