summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-10-25 21:57:01 -0700
committerZac Medico <zmedico@gentoo.org>2012-10-25 21:57:01 -0700
commit57604eaf869b544aac9e8ed2e270dcc6be3cf739 (patch)
tree142a486fa30cdd528918a614a6b47cc1a772b964
parent9fead7ac9b4d819bdbe4321c78e325dced7c51a8 (diff)
downloadportage-57604eaf869b544aac9e8ed2e270dcc6be3cf739.tar.gz
portage-57604eaf869b544aac9e8ed2e270dcc6be3cf739.tar.bz2
portage-57604eaf869b544aac9e8ed2e270dcc6be3cf739.zip
depgraph: no multislot tweak for built slot op
The multislot tweak from bug #220341 (see commit 65a421ae35acd5639ad1258e220754a85e55de6e) triggered erroneous matches for built slot-operator deps, causing the depgraph to treat unsatisfied built slot-operator deps as if they were satisfied (one of the issues uncovered in bug #439694).
-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"],