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

Re: RFS: figtoipe



On Sat, 17 May 08 20:40, Vincent Bernat wrote:
> OoO Lors de la soirée naissante du samedi 17 mai 2008, vers 17:57, Armin
> Berres <trigger@space-based.de> disait:
> 
> > Replaces must not come with Conflicts.
> > Consider a package foo which contains a lot of architecture independent
> > files. One day you decide to split the arch independent files into a new
> > package foo-data. foo-data will replace the old foo package, but there
> > is no need to conflict with it.
> 
> Even against older versions? You have one package foo-0.5.2-1, you split
> it  in  foo-0.5.2-2 and  foo-data-0.5.2-2.  Should not  foo-data-0.5.2-2
> conflicts with  foo (<= 0.5.2-1)? This  is not a  very realistic example
> because in  this case,  I suppose  that foo will  depend on  foo-data (=
> ${binary:Version}).

There is one quite important paragraph in the policy:
'A Conflicts entry should almost never have an "earlier than" version
clause. This would prevent dpkg from upgrading or installing the package
which declared such a conflict until the upgrade or removal of the
conflicted-with package had been completed.'
So you normally only add a conflict, if the package you want to conflict
with should completely vanish. If you just have a simple package split
you definitely don't want one package to vanish.

In the above case there is no problem with foo-data-0.5.2-2 not
conflicting with foo (<= 0.5.2-1). Consider the case when foo-0.5.2-1 is
installed. What happens now if you install foo-data-0.5.2-2? The
ownership of the data files will change, nothing else. foo-0.5.2-1 is
still completely functional.
After the package has been split foo should have a dependency on
something like foo-data (>= ${source:Version}) (not ${binary:Version},
foo-data is arch all) and you won't have a problem if you just install
foo-0.5.2-2. It will pull in foo-data-0.5.2-2.

Maybe the problem you see is the following: When one has
foo-0.5.2-1 and foo-data-0.5.2-2 installed and removes foo-data-0.5.2-2,
foo-0.5.2-1 is broken. That's true, but I'd say you get what you
request, simply don't do such things.

Greetings,
Armin


Reply to: