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 <[EMAIL PROTECTED]> 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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]