[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: