diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2012-11-24 13:28:44 +0100 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2012-11-24 13:28:44 +0100 |
commit | 44f2b8f9603964abe230cfe8ef75831a82855da5 (patch) | |
tree | b85e07c7ba395517fa2531c36068fc38d841cd18 /pym/_emerge | |
parent | cfe348a4073a53b44f3850b9328abffc98121f26 (diff) | |
download | portage-44f2b8f9603964abe230cfe8ef75831a82855da5.tar.gz portage-44f2b8f9603964abe230cfe8ef75831a82855da5.tar.bz2 portage-44f2b8f9603964abe230cfe8ef75831a82855da5.zip |
EAPI="5-progress": Add automatic unpack dependencies.
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/EbuildMetadataPhase.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pym/_emerge/EbuildMetadataPhase.py b/pym/_emerge/EbuildMetadataPhase.py index a6c515a4c..f351b1650 100644 --- a/pym/_emerge/EbuildMetadataPhase.py +++ b/pym/_emerge/EbuildMetadataPhase.py @@ -12,6 +12,8 @@ from portage import os from portage import _encodings from portage import _unicode_decode from portage import _unicode_encode +from portage.dep import extract_unpack_dependencies +from portage.eapi import eapi_has_automatic_unpack_dependencies import errno import fcntl @@ -180,6 +182,13 @@ class EbuildMetadataPhase(SubProcess): metadata["_eclasses_"] = {} metadata.pop("INHERITED", None) + if eapi_has_automatic_unpack_dependencies(metadata["EAPI"]): + repo = self.portdb.repositories.get_name_for_location(self.repo_path) + unpackers = self.settings.unpack_dependencies.get(repo, {}).get(metadata["EAPI"], {}) + unpack_dependencies = extract_unpack_dependencies(metadata["SRC_URI"], unpackers) + if unpack_dependencies: + metadata["DEPEND"] += (" " if metadata["DEPEND"] else "") + unpack_dependencies + # If called by egencache, this cache write is # undesirable when metadata-transfer is disabled. if self.write_auxdb is not False: |