On Thu, Nov 17, 2011 at 08:02:30PM +0000, Dominic Hargreaves wrote: > On Thu, Nov 17, 2011 at 04:13:08PM +0100, Bill Allombert wrote: > > There is a circular dependency between libclass-isa-perl, libswitch-perl, > > perl and perl-modules: > > > > libclass-isa-perl :Depends: perl > > libswitch-perl :Depends: perl, perl-modules > > perl :Depends: perl-modules (>= 5.14.2-3) > > perl-modules :Depends: perl (>= 5.14.2-1), libswitch-perl, > > libclass-isa-perl > > > > Complex circular dependencies are known to cause problems during upgrade, > > so we > > should try to get rid of them. > > Thanks for the heads up. The Depends were added in order to produce > a smooth upgrade path since squeeze released with a number of packages > which used those modules (see #629472 for more information). > > I will think about if we can do anything to improve this. If nothing > else these will be removed after wheezy.
It looks like libclass-isa-perl could be made to depend just on perl-base. The line use if $] >= 5.011, 'deprecate'; would need to be patched out as if.pm is in perl-modules, but the functionality is not needed for 5.14 anyway. However, this is unfortunately not a general solution and doesn't work for libswitch-perl, which needs Filter::Util::Call from the perl package. I expect this is not the last time this will crop up. AFAICS, whenever we skip past one Perl major release between Debian stable releases (which is going to happen again due to differences in our release schedules), we're going to hit this. [ When we don't skip a major Perl release, upstream's deprecation schedule works for us and the perl package can just Recommend the newly split modules instead of depending on them, avoiding the circular dependency. ] I see three options for the general case: - stick with the circular dependency for one release. This is still allowed by the policy after all; is there any evidence of real problems? - extend the deprecation period to match Debian release schedule: in this case, bundle Class::ISA and Switch in the perl 5.14 packages even though upstream doesn't. This would mean multiple tarballs in the original source. I'm not thrilled about this but it's doable. - try to get upstream to extend their deprecation period to accommodate "slower" distributions. Listed mostly for completeness; the discussion that led to the current policy was hot enough that I don't really want to reopen that can of worms. More ideas welcome. -- Niko Tyni nt...@debian.org -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org