aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/_emerge/DepPrioritySatisfiedRange.py')
-rw-r--r--lib/_emerge/DepPrioritySatisfiedRange.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/_emerge/DepPrioritySatisfiedRange.py b/lib/_emerge/DepPrioritySatisfiedRange.py
index 0633a5e1c..b3bc90c2f 100644
--- a/lib/_emerge/DepPrioritySatisfiedRange.py
+++ b/lib/_emerge/DepPrioritySatisfiedRange.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
from _emerge.DepPriority import DepPriority
@@ -89,7 +89,17 @@ class DepPrioritySatisfiedRange:
def _ignore_runtime(cls, priority):
if priority.__class__ is not DepPriority:
return False
- return bool(priority.satisfied or priority.optional or not priority.buildtime)
+ # We could split this up into 2 variants (ignoring satisfied
+ # runtime_slot_op, and not) if we need more granularity for ignore_priority
+ # in future.
+ return bool(
+ (
+ (not priority.runtime_slot_op)
+ or (priority.satisfied and priority.runtime_slot_op)
+ or priority.cross
+ )
+ and (priority.satisfied or priority.optional or not priority.buildtime)
+ )
ignore_medium = _ignore_runtime
ignore_medium_soft = _ignore_satisfied_buildtime_slot_op