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

Re: Renaming a package, proper values for replaces/conflicts?



On 2004-03-07 Colin Watson <cjwatson@debian.org> wrote:
> On Sun, Mar 07, 2004 at 01:17:46PM +0100, Andreas Metzler wrote:
> > On 2004-03-07 Colin Watson <cjwatson@debian.org> wrote:
> > > On Sun, Mar 07, 2004 at 11:23:40AM +0100, Andreas Metzler wrote:
> > >> When jumping from 4.3 to 4.5 I'd like to rename pgrep to pcregrep and
> > >> to provide seamless upgrades I'd introduce a dummy package pgrep
> > >> depending on pcregrep, however replaces/conflicts gives me a headache.

> > >> Package: pcregrep
> > >> Architecture: any
> > >> Depends: ${shlibs:Depends}
> > >> Conflicts: pgrep(<<4.5)
> > >> Replaces: pgrep(<<4.5)
 
> > >> Package: pgrep
> > >> Section: oldlibs
> > >> Architecture: all
> > >> Depends: pcregrep
 
> > >> This looks correct, doesn't it? Any[1] version of pgrep fulfilling (<<4.5)
> > >> is no dummy package and contains /usr/bin/pcregrep, therefore pcregrep
> > >> must conflict with it.
 
> > > I think you just need Replaces: pgrep (<< 4.5), not Conflicts: at all.
> > > It's a straightforward file conflict. Conflicts: makes the upgrade
> > > painful because it adds extra complexity to the unpack order: this is
> > > why policy recommends against it.

> Actually, Replaces:/Conflicts: has the special meaning of "this package
> completely replaces that other package", which I guess is what you want.
> Nothing depends on pgrep, so is the dummy package really needed?
[...]

Yes. If you have pgrep installed and there is no dummy package neither
"apt-get (dist-)upgrade" nor dselect will install pcregrep. The
outdated package will be kept indefinitely.
            cu andreas
-- 
"See, I told you they'd listen to Reason," [SPOILER] Svfurlr fnlf,
fuhggvat qbja gur juveyvat tha.
Neal Stephenson in "Snow Crash"



Reply to: