1 |
This is also implemented in portage-mgorny by the following commit: |
2 |
|
3 |
https://github.com/mgorny/portage/commit/386cdb131c99b01541d53c8c894b2ec6534b6dea |
4 |
|
5 |
Bug: https://bugs.gentoo.org/568884 |
6 |
--- |
7 |
pym/portage/eapi.py | 5 +++++ |
8 |
pym/portage/package/ebuild/config.py | 3 ++- |
9 |
2 files changed, 7 insertions(+), 1 deletion(-) |
10 |
|
11 |
diff --git a/pym/portage/eapi.py b/pym/portage/eapi.py |
12 |
index 5f0017b65..49c0e0ecd 100644 |
13 |
--- a/pym/portage/eapi.py |
14 |
+++ b/pym/portage/eapi.py |
15 |
@@ -104,6 +104,10 @@ def eapi_has_automatic_unpack_dependencies(eapi): |
16 |
def eapi_has_hdepend(eapi): |
17 |
return eapi in ("5-hdepend",) |
18 |
|
19 |
+def eapi_allows_package_provided(eapi): |
20 |
+ return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi", |
21 |
+ "5", "5-progress", "6") |
22 |
+ |
23 |
def eapi_has_bdepend(eapi): |
24 |
return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi", |
25 |
"5", "5-progress", "6") |
26 |
@@ -148,6 +152,7 @@ def _get_eapi_attrs(eapi): |
27 |
eapi = None |
28 |
|
29 |
eapi_attrs = _eapi_attrs( |
30 |
+ allows_package_provided=(eapi is None or eapi_allows_package_provided(eapi)), |
31 |
bdepend = (eapi is not None and eapi_has_bdepend(eapi)), |
32 |
dots_in_PN = (eapi is None or eapi_allows_dots_in_PN(eapi)), |
33 |
dots_in_use_flags = (eapi is None or eapi_allows_dots_in_use_flags(eapi)), |
34 |
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py |
35 |
index 9d2b34a53..ea49839d8 100644 |
36 |
--- a/pym/portage/package/ebuild/config.py |
37 |
+++ b/pym/portage/package/ebuild/config.py |
38 |
@@ -803,7 +803,8 @@ class config(object): |
39 |
pkgprovidedlines = [grabfile( |
40 |
os.path.join(x.location, "package.provided"), |
41 |
recursive=x.portage1_directories) |
42 |
- for x in profiles_complex] |
43 |
+ for x in profiles_complex if _get_eapi_attrs(x.eapi).allows_package_provided] |
44 |
+ |
45 |
pkgprovidedlines = stack_lists(pkgprovidedlines, incremental=1) |
46 |
has_invalid_data = False |
47 |
for x in range(len(pkgprovidedlines)-1, -1, -1): |
48 |
-- |
49 |
2.13.6 |