dpkg: Fix trigger dependency checks and cycle detection
Break dependency cycles on dependtry > 1 in trigproc(), before calling dependencies_ok(). But if we have a dependency cycle where a package A awaits triggers and package P has them pending, and both depend on each other, the dependency cycle breaking code is not smart enough to break it at the correct place, as the relationship is directional. So we handle it specially on deppossi_ok_found(), in case we are in the cycle breaking dependtry. Otherwise we just defer it, but do not record that it can be fixed by trigger processing, because we would get into an inifite loop. Move trigger cycle detection after dependency checks, so that it does not detect bogus trigger cycles that would have been avoided simply by the dependency checks and cycle breaking code. Regression introduced in commit 35c1c59c. Closes: #765434, #765668, #765734, #765781, #765789, #765952
parent
17630063
Please register or sign in to comment