Re: trigger processing
(+bcc: a hypothetical debian-dpkg-frontends@ list)
Phillip Susi wrote:
> I've noticed triggers being invoked repeatedly during upgrades rather
> than once at the end, as they are supposed to.
[...]
> Is this a known bug or misconfiguration in apt?
Yes, known frontend bug (though it doesn't seem to be filed with debbugs).
I think all the frontends have it. A hint at why:
Suppose package foo Pre-Depends on package bar. In the old world, to
install package foo, assuming bar is already installed, you'd do
something like this:
unpack foo and various other packages
configure foo
To unpack foo, bar must be configured (or more precisely, it must have
a "last configured version" --- in other words, it must not have been
deconfigured since it was last configured). Unfortunately if bar has
unhandled triggers for, for example, a manpage change, then this
condition is not satisfied.
So frontends have two choices:
1. split the unpack step:
unpack bar
handle triggers
unpack foo and various other packages
or
2. use dpkg --triggers, which takes care of running whatever triggers
are needed to leave none pending at the end of each dpkg run.
The lazy choice is (2). :)
<http://bugs.debian.org/526774>, <http://bugs.debian.org/484669>,
the "dpkg trigger usage" section of apt.conf(5), and the
"cupt::worker::defer-triggers" item in cupt(1) might be relevant.
Hope that helps,
Jonathan
Reply to: