Bug#807647: perl/experimental: trigger cycle on upgrades
Niko Tyni
ntyni at debian.org
Fri Dec 11 10:00:12 UTC 2015
Package: perl
Version: 5.22.1~rc4-1
Severity: serious
Tags: patch
When spamassassin is installed, upgrading perl et al. from sid/5.20
to experimental/5.22.1~rc4-1 breaks due to a trigger cycle, see below.
I believe perl.postinst should trigger 'perl-major-upgrade' with
'noawait'. Quoting deb-triggers(5):
The “-noawait” variants should always be favored when possible
since triggering packages are not put in triggers-awaited state and
can thus be immediately configured without requiring the processing
of the trigger. If the triggering packages are dependencies of
other upgraded packages, it will avoid an early trigger processing
run and make it possible to run the trigger only once as one of the
last steps of the upgrade.
It seems sensible that perl configuration shouldn't wait for spamassassin
to recompile its ruleset.
I've tested locally that
--- a/debian/perl.postinst
+++ b/debian/perl.postinst
@@ -21,7 +21,7 @@ then
[ -n "$2" ] && \
dpkg --compare-versions "$2" lt 5.21.9
then
- dpkg-trigger perl-major-upgrade
+ dpkg-trigger --no-await perl-major-upgrade
fi
fi
makes the problem go away.
Setting up perl (5.22.1~rc4-1) ...
dpkg: cycle found while processing triggers:
chain of packages whose triggers are or may be responsible:
spamassassin -> spamassassin
packages' pending triggers which are or may be unresolvable:
sa-compile: perl-major-upgrade
libc-bin: ldconfig
spamassassin: perl-major-upgrade
dpkg: error processing package sa-compile (--configure):
triggers looping, abandoned
dpkg: cycle found while processing triggers:
chain of packages whose triggers are or may be responsible:
spamassassin -> spamassassin -> spamassassin
packages' pending triggers which are or may be unresolvable:
libc-bin: ldconfig
spamassassin: perl-major-upgrade
dpkg: error processing package libc-bin (--configure):
triggers looping, abandoned
dpkg: cycle found while processing triggers:
chain of packages whose triggers are or may be responsible:
spamassassin -> spamassassin -> spamassassin -> spamassassin -> spamassassin -> spamassassin
packages' pending triggers which are or may be unresolvable:
spamassassin: perl-major-upgrade
dpkg: error processing package spamassassin (--configure):
triggers looping, abandoned
Setting up libnet-ssleay-perl (1.72-1+b2) ...
Setting up libhtml-parser-perl (3.71-2+b1) ...
Setting up libnet-dns-perl (0.81-2+b1) ...
Setting up libsocket6-perl (0.25-1+b2) ...
Setting up libnetaddr-ip-perl (4.078+dfsg-1+b1) ...
Errors were encountered while processing:
sa-compile
libc-bin
spamassassin
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list