summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/depgraph.py3
-rw-r--r--pym/portage/tests/resolver/test_slot_operator_unsatisfied.py4
2 files changed, 4 insertions, 3 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 0722fac78..41bdc8ecd 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3804,7 +3804,8 @@ class depgraph(object):
# the newly built package still won't have the expected slot.
# Therefore, assume that such SLOT dependencies are already
# satisfied rather than forcing a rebuild.
- if not matched_something and installed and atom.slot is not None:
+ if not matched_something and installed and \
+ atom.slot is not None and not atom.slot_operator_built:
if "remove" in self._dynamic_config.myparams:
# We need to search the portdbapi, which is not in our
diff --git a/pym/portage/tests/resolver/test_slot_operator_unsatisfied.py b/pym/portage/tests/resolver/test_slot_operator_unsatisfied.py
index fe8893fa6..14631eb4e 100644
--- a/pym/portage/tests/resolver/test_slot_operator_unsatisfied.py
+++ b/pym/portage/tests/resolver/test_slot_operator_unsatisfied.py
@@ -43,12 +43,12 @@ class SlotOperatorUnsatisfiedTestCase(TestCase):
test_cases = (
# Demonstrate bug #439694, where a broken slot-operator
- # sub-slot dependency fails to be recognized.
+ # sub-slot dependency fails to trigger rebuild.
ResolverPlaygroundTestCase(
["@world"],
options = {"--update": True, "--deep": True},
success = True,
- mergelist = []),
+ mergelist = ["app-misc/A-1"]),
ResolverPlaygroundTestCase(
["app-misc/A"],