diff options
author | David Kalnischkies <david@kalnischkies.de> | 2021-03-18 14:40:31 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2021-04-26 13:00:24 +0200 |
commit | 9a54e70c1040379fb06827bacb461c61e341e694 (patch) | |
tree | 2373a8aae33ccc9295b916614609c91a5ff9436d /test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict | |
parent | acc5502e7bd4bee178b8da3198a376d9001ab414 (diff) |
Reexplore providers of marked packages if some didn't satisfy before
The autoremove algorithm would mark a package previously after exploring
it once, but it could have been that it ignored some providers due to
them not satisfying the (versioned) dependency. A later dependency which
they might satisfy would encounter the package as already marked and
hence doesn't explore the providers anymore leaving us with internal
errors (as in the contrived new testcase).
This is resolved by introducing a new flag denoting if we explored every
provider already and only skip exploring if that is true, which sounds
bad but is really not such a common occurrence that it seems noticeable
in practice. It also helps us marking virtual packages as explored now
which would previously be tried each time they are encountered mostly
hiding this problem for the (far more common) fully virtual package.
Diffstat (limited to 'test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict')
-rwxr-xr-x | test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict b/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict index ad1501b66..54781a6cc 100755 --- a/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict +++ b/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict @@ -26,13 +26,13 @@ Investigating (0) init:amd64 < 1 @ii mK Ib > Broken init:amd64 PreDepends on systemd-sysv:amd64 < 1 @ii pmR > Considering systemd-sysv:amd64 0 as a solution to init:amd64 5100 Added systemd-sysv:amd64 to the remove list -Broken init:amd64 PreDepends on sysvinit-core:amd64 < none @un pH > +Broken init:amd64 PreDepends on sysvinit-core:amd64 < none @un pmH > Considering sysvinit-core:amd64 0 as a solution to init:amd64 5100 Ignore MarkKeep of systemd-sysv:amd64 < 1 @ii pmR > as its mode (Delete) is protected Investigating (1) init:amd64 < 1 @ii mK Ib > Broken init:amd64 PreDepends on systemd-sysv:amd64 < 1 @ii pmR > Considering systemd-sysv:amd64 5100 as a solution to init:amd64 5100 -Broken init:amd64 PreDepends on sysvinit-core:amd64 < none @un pH > +Broken init:amd64 PreDepends on sysvinit-core:amd64 < none @un pmH > Considering sysvinit-core:amd64 0 as a solution to init:amd64 5100 Or group remove for init:amd64 MarkDelete init:amd64 < 1 @ii mK Ib > FU=0 |