summaryrefslogtreecommitdiff
path: root/COPYING
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2021-03-18 14:40:31 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2021-04-26 13:00:24 +0200
commit9a54e70c1040379fb06827bacb461c61e341e694 (patch)
tree2373a8aae33ccc9295b916614609c91a5ff9436d /COPYING
parentacc5502e7bd4bee178b8da3198a376d9001ab414 (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 'COPYING')
0 files changed, 0 insertions, 0 deletions