On 6/23/05, Steve Greenland <[EMAIL PROTECTED]> wrote: > > The one I can think of is honouring the "Replaces:" field, meaning > > that when a package states that it replaces another one, apt, > > aptitude, dselect, and all the others would install it to replace of > > the old one. > That is not what "Replaces:" means, and changing dpkg to do what you > want would break a lot of existing packages that are NOT mis-using it. > See the dpkg docs for what "Replaces:" actually does.
The documentation for this is in the Debian Policy: http://www.debian.org/doc/debian-policy/ch-relationships.html#s7.5.2 And basically, what it says is that if a package "Replaces:" and "Conflicts:" with another package, the new one is completely replacing the old one. So, when both "Replaces:" and "Conflicts:" are there, and it is not a virtual-package, it would trigger apt replacing the package. > > Is there a better solution to this? > I think that there have been proposals for a new header that > accomplishes what you want, Well, a new header would be nice, of course. But it would mean a change in policy, that's why I was thinking of using the existing ones. Having the "Real-Replaces:" or whatever field might be clearer than having a set of nested ifs. And would not cause any problems with packages that are already using the Replaces field for something else. > but it's never gone anywhere. I suspect that the effort has not been viewed > as > worthwhile, given that there's no new functionality. Dummy packages work, > and have the advantage that it's very clear what is going on. It's not really _that_ clear to the end user, and dummy packages are an unnecesary hassle in the archive. They work, yes, but they're an ugly hack, and I think we can do better than that. -- Besos, Marga