Re: naming and relationships of development packages
Székelyi Szabolcs <firstname.lastname@example.org> wrote:
> That's right. But why is Replaces needed in the case of an MTA? If a
> package Providing mail-transport-agent is installed, and the user is
> about to explicitly install another package which also Provides and
> Conflicts with mail-transport-agent, then the currently installed
> package will be removed anyway before the new one is installed. I do not
> see the need for Replaces.
I didn't say it's needed. I even posted an experiment showing that with
the tools from unstable, it makes no difference in:
apt-get -s install <virtual package>
> But that's not right. With this, what you've tested is installing the
> virtual package installs the real package instead. That's the way it
> should be.
It shows that, even when not using Replaces, things do work in this
> But the question is: is Replaces needed to get the previous version
> removed upon installation of the new package?
What previous version are you talking about? Which "new package"?
> What if the user forces the installation of the new package by
> overriding the conflict (dpkg --force-conflicts)? Then Replaces can be
> used to take over the files contained in both packages, so dpkg won't
> complain about overwriting files which are contained in another package,
> resulting in a somewhat more consistent installation.
So, it's right because dpkg doesn't complain when the user it shooting
itself in the foot? If the user uses --force-conflicts, he is on its
> I disagree. Provides is used for that. It has nothing to do with Replaces.
Fine. I tried to explain how the use of Replaces in the MTA example
could be justified with the information given in Policy. If that is not
enough for you, go argue with the Policy maintainers.