Bug#527917: please break circular dependency

Niko Tyni ntyni at debian.org
Mon May 11 08:28:26 UTC 2009


On Sun, May 10, 2009 at 08:52:46AM +1000, Brendan O'Dea wrote:
> On Sat, May 9, 2009 at 10:16 PM, Holger Levsen <holger at layer-acht.org> wrote:
> > Whats wrong with making perl depend perl-modules and making perl-modules only
> > recommend perl? (I do the same with the tuxtype and tuxtype-data packages,
> > and tuxtype-data is also basically useless without tuxtype. You could look at
> > the images, yeah ;-)
> 
> The co-dependency between perl and perl-modules is required as these
> are fundamentally one package, split only into arch any/all parts.
> Modules within perl use modules within perl-modules and vice-versa.

For reference, here's a few:

Unicode::UCD    -> Storable
Module::Build   -> Data::Dumper

B::Lint         -> Module::Pluggable
Time::Piece     -> Time::Local

> Ideally the dependency would simply be expressed as a perl dependency
> of the exact version on perl-modules (as is done for perl-base), and
> this was originally how the package was set up.

If such a setup was restored (see below), it would be possible to install
perl-modules without perl. This could result in a broken Module::Build
module on the system, for instance. Not sure if that's a real concern.

There are currently only about 30 binary packages dependending on
perl-modules but not perl, so those could certainly be changed easily
if necessary. The few such source packages would be safe because perl
is transitively build-essential via dpkg-dev (and probably others.)

> This caused issues in unstable where the package became uninstallable
> when a new version was available on one arch, but not built yet for
> others and at the request of porters I changed the dependencies to be
> looser allowing a newer version of perl-modules to be installed.  An
> inverse dependency is now required however, as otherwise perl 5.6.1-1
> is satisfied with perl-modules 5.10.0-22 .

Now that we have Breaks in stable, couldn't this be solved with

Package: perl-modules
Version: 5.10.0-xx
Breaks:  perl (<< 5.10.0)

?

> Additionally these dependencies must be modified if a file moves
> between the packages, an example may be seen in the changelog for
> 5.8.8-9 and in #377385: without the dependency changes it became
> possible to have versions of perl and perl-base installed, neither of
> which contained a module which had moved (similar issues occur when
> moving modules to/from perl-base).

This would be handled by upgrading the version in the Breaks field
as needed.
-- 
Niko Tyni   ntyni at debian.org






More information about the Perl-maintainers mailing list