diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-05-08 23:38:47 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-05-09 00:09:22 -0700 |
commit | 20817801dd4ef0117bcc7b33c90650da1e920385 (patch) | |
tree | c2e30f858b87e9d1504774a8e84791aff149453c /pym/portage/package/ebuild/doebuild.py | |
parent | 476f99337da69662660bfe2a0406b9ac5b4678c4 (diff) | |
download | portage-20817801dd4ef0117bcc7b33c90650da1e920385.tar.gz portage-20817801dd4ef0117bcc7b33c90650da1e920385.tar.bz2 portage-20817801dd4ef0117bcc7b33c90650da1e920385.zip |
Parse EAPI with pattern from PMS section 7.3.1.
This implements the specification that was approved in Gentoo's council
meeting on May 8, 2012 (see bug #402167). The parse-eapi-ebuild-head
FEATURES setting is now enabled by default, and causes non-conformant
ebuilds to be treated as invalid. This behavior will soon become
enabled unconditionally.
Diffstat (limited to 'pym/portage/package/ebuild/doebuild.py')
-rw-r--r-- | pym/portage/package/ebuild/doebuild.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py index da30bda38..4f7d4a8a1 100644 --- a/pym/portage/package/ebuild/doebuild.py +++ b/pym/portage/package/ebuild/doebuild.py @@ -337,12 +337,14 @@ def doebuild_environment(myebuild, mydo, myroot=None, settings=None, # when uninstalling a package that has corrupt EAPI metadata. eapi = None if mydo == 'depend' and 'EAPI' not in mysettings.configdict['pkg']: - if eapi is None and 'parse-eapi-ebuild-head' in mysettings.features: + if eapi is None: with io.open(_unicode_encode(ebuild_path, encoding=_encodings['fs'], errors='strict'), mode='r', encoding=_encodings['content'], errors='replace') as f: - eapi = _parse_eapi_ebuild_head(f) + eapi, eapi_lineno = _parse_eapi_ebuild_head(f) + if eapi is None: + eapi = "0" if eapi is not None: if not eapi_is_supported(eapi): |