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

Re: Use "Replaces"?



On Tue, Mar 15, 2005 at 09:22:13PM +0100, Thomas Hood wrote:
> On Tue, 15 Mar 2005 10:30:13 +0100, Frank Küster wrote:
> > Thomas Hood <jdthood@aglu.demon.nl> schrieb:
> >> Original package is foo 1.0.  This is split up into two packages: foo
> >> 2.0, bar 2.0.
> >>
> >>     Package: bar
> >>     Version: 2.0
> >>     Conflicts: foo (<< 2.0)
> >>
> >> Should bar also have this?:
> >>
> >>     Replaces: foo (<< 2.0)
> > 
> > Only if it replaces *files* in foo << 2.0, see
> > file:///usr/share/doc/debian-policy/policy.html/ch-relationships.html#s-replaces
> 
> 
> First of all, thanks for the response.
> 
> My case is a 7.5.2 case, not a 7.5.1 case.  bar Conflicts with foo (<< 2.0)
> so the meaning of 'Replaces' would be to tell dpkg not to abort when bar
> 2.0 is installed and foo 1.0 is already present.
> 
> What I am not sure about is whether adding 'Replaces' would have other
> unwanted effects.
My understanding is that replaces just sets a flag that allows one
package to replace files in another.  As long as you have a good
reason for them to be swapping file ownership, which you do, then it
is all good.


foo-1 gets upgraded to foo-2
foo-2 should depend on bar-2, so users don't think "where the heck did
bar go, it *used* to be included in foo!"
If some files moved from foo-1 to bar-2 (and AIUI are not in foo-2),
then replaces is appropriate; otherwise, dpkg will be installing foo-2
and bar-2, and will notice that /usr/bin/bar used to be in package
foo, but it is being overwritten by a file in package bar.

Justin



Reply to: