Re: Getting rid of circular dependencies, stage 4
On Wed, May 10, 2006 at 04:20:19PM +0200, Pierre Habouzit wrote:
>Le Mer 10 Mai 2006 15:44, Brendan O'Dea a écrit :
>
>> The current dependencies are used to allow a slightly newer version
>> of perl-modules to be installed: porters had issues in unstable
>> where perl was uninstallable due to the package not having built on
>> an architecture.*
>
>Package: perl
>Depends: perl-modules (>= ${source:Version})
>
>achieves that IMHO.
Yes, that's exactly what is used now.
>> Simply having perl depend on perl-modules (>= current-ver) is more
>> problematic than the case you describe, since a sarge user may
>> upgrade just perl-modules 5.8.4-x to 5.8.8-y, retaining the older
>> perl package and things would go pear-shaped.
>
>that is higly unlikely since nothing should depends only from
>perl-modules. (In fact, IMHO nothing should depends from perl-modules
>at all).
Correct. I'd prefer that nothing did. See however the output of
'apt-cache rdepends perl-modules'.
Selecting a random entry from that list with a versioned dependency,
'munin':
Depends: perl (>= 5.6.0-16), perl-modules (>= 5.8.0) | libparse-recdescent-perl, [...]
>so the only way for a user to upgrade perl-modules only is to apt-get
>install perl-modules which looks like an awkward thing to do.
People do. Particularly those with limited network connectivity.
Consider a sarge dialup user who wants a newer version of
libcgi-pm-perl, so adds unstable to sources.list and tries
apt-get install libcgi-pm-perl
sees
Package libcgi-pm-perl is a virtual package provided by:
perl-modules 5.8.4-8sarge5
You should explicitly select one to install.
So chooses to run
apt-get install perl-modules
>moreover:
>
>Package: perl-modules
>Conflicts: perl (<< ${source:Version})
>
>looks like achieving what you want.
Perhaps (although using ${Upstream-Version}-1).
That does seem to work for a dist-upgrade to sid from sarge (after
manually tweaking the depends/conflicts on perl-modules in
/var/lib/apt/lists/*).
A bit gun-shy about adding conflicts to perl since the 5.005 -> 5.6.0
transition, which produced some upgrade disasters like
http://lists.debian.org/debian-perl/2001/02/msg00031.html (apt choosing
to remove the conflicted target and all dependent packages...)
Will consider for the next upload.
--bod
Reply to: