aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2019-12-26 15:12:27 +0100
committerZac Medico <zmedico@gentoo.org>2021-05-23 22:43:36 -0700
commit96f7e7870254d6f904d51a19e527541e6e3b6d61 (patch)
treea363965904a539eaee2f173f8fbea0efd1a130a7 /lib/_emerge
parentSupport selective fetch restriction in emirrordist (diff)
downloadportage-96f7e7870254d6f904d51a19e527541e6e3b6d61.tar.gz
portage-96f7e7870254d6f904d51a19e527541e6e3b6d61.tar.bz2
portage-96f7e7870254d6f904d51a19e527541e6e3b6d61.zip
Initial IDEPEND support (for EAPI 8)
Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Zac Medico <zmedico@gentoo.org>
Diffstat (limited to 'lib/_emerge')
-rw-r--r--lib/_emerge/Package.py8
-rw-r--r--lib/_emerge/actions.py3
-rw-r--r--lib/_emerge/depgraph.py7
3 files changed, 12 insertions, 6 deletions
diff --git a/lib/_emerge/Package.py b/lib/_emerge/Package.py
index 0ee25b90a..e8809a89d 100644
--- a/lib/_emerge/Package.py
+++ b/lib/_emerge/Package.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
from itertools import chain
@@ -32,15 +32,15 @@ class Package(Task):
metadata_keys = [
"BDEPEND",
"BUILD_ID", "BUILD_TIME", "CHOST", "COUNTER", "DEFINED_PHASES",
- "DEPEND", "EAPI", "INHERITED", "IUSE", "KEYWORDS",
+ "DEPEND", "EAPI", "IDEPEND", "INHERITED", "IUSE", "KEYWORDS",
"LICENSE", "MD5", "PDEPEND", "PROVIDES",
"RDEPEND", "repository", "REQUIRED_USE",
"PROPERTIES", "REQUIRES", "RESTRICT", "SIZE",
"SLOT", "USE", "_mtime_"]
- _dep_keys = ('BDEPEND', 'DEPEND', 'PDEPEND', 'RDEPEND')
+ _dep_keys = ('BDEPEND', 'DEPEND', 'IDEPEND', 'PDEPEND', 'RDEPEND')
_buildtime_keys = ('BDEPEND', 'DEPEND')
- _runtime_keys = ('PDEPEND', 'RDEPEND')
+ _runtime_keys = ('IDEPEND', 'PDEPEND', 'RDEPEND')
_use_conditional_misc_keys = ('LICENSE', 'PROPERTIES', 'RESTRICT')
UNKNOWN_REPO = _unknown_repo
diff --git a/lib/_emerge/actions.py b/lib/_emerge/actions.py
index c078e1ab3..1946f49df 100644
--- a/lib/_emerge/actions.py
+++ b/lib/_emerge/actions.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import collections
@@ -1368,6 +1368,7 @@ def _calc_depclean(settings, trees, ldpath_mtimes,
runtime_post = UnmergeDepPriority(runtime_post=True)
buildtime = UnmergeDepPriority(buildtime=True)
priority_map = {
+ "IDEPEND": runtime,
"RDEPEND": runtime,
"PDEPEND": runtime_post,
"BDEPEND": buildtime,
diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
index 2bf04406f..0f47f00a6 100644
--- a/lib/_emerge/depgraph.py
+++ b/lib/_emerge/depgraph.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import errno
@@ -3392,11 +3392,13 @@ class depgraph:
"deep" not in self._dynamic_config.myparams:
edepend["RDEPEND"] = ""
edepend["PDEPEND"] = ""
+ edepend["IDEPEND"] = ""
if pkg.onlydeps and \
self._frozen_config.myopts.get("--onlydeps-with-rdeps") == 'n':
edepend["RDEPEND"] = ""
edepend["PDEPEND"] = ""
+ edepend["IDEPEND"] = ""
ignore_build_time_deps = False
if pkg.built and not removal_action:
@@ -3452,6 +3454,8 @@ class depgraph:
deps = (
(myroot, edepend["RDEPEND"],
self._priority(runtime=True)),
+ (self._frozen_config._running_root.root, edepend["IDEPEND"],
+ self._priority(runtime=True)),
(myroot, edepend["PDEPEND"],
self._priority(runtime_post=True)),
(depend_root, edepend["DEPEND"],
@@ -5156,6 +5160,7 @@ class depgraph:
dep_strings.add(node._metadata[k])
if priority.runtime:
dep_strings.add(node._metadata["RDEPEND"])
+ dep_strings.add(node._metadata["IDEPEND"])
if priority.runtime_post:
dep_strings.add(node._metadata["PDEPEND"])