diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-10-25 21:57:01 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-10-25 21:57:01 -0700 |
commit | 57604eaf869b544aac9e8ed2e270dcc6be3cf739 (patch) | |
tree | 142a486fa30cdd528918a614a6b47cc1a772b964 | |
parent | 9fead7ac9b4d819bdbe4321c78e325dced7c51a8 (diff) | |
download | portage-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.py | 3 | ||||
-rw-r--r-- | pym/portage/tests/resolver/test_slot_operator_unsatisfied.py | 4 |
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"], |