This page will track the required changes to cleanup the current triggers implementation.

One of the problems that has been plaguing Debian since triggers started to get used has been the dreaded trigger cycles. The main reason for this is that the initial implementation pretty much defaulted all over the place to use awaiting triggers, which are the ones that can get us into those cycles.

Later on we added support for -noawait trigger directives and even later, support for explicit -await directives and an --await option to dpkg-trigger.

But maintainers are still defaulting to the implicit trigger directives adding lots of unsuspecting cycles.

Also reasoning and analyzing trigger cycles is not easy, and it seems the piuparts and dpkg maintainers are the current bottleneck. :(

The plan to improve the current situation would be to: