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

Re: Bug#744280: RFS: cpl-plugin-xshoo/2.4.0+dfsg-1 (name change)



Dear Ole,

Le 14/04/2014 07:38, Ole Streicher a écrit :
> So, if you want to keep up-to-date, you should at some point remove
> package A and install package B instead. This is what I think is the
> use of "replaces".

Well "Replaces" alone does not provide this feature. If you want to be
sure that people do upgrade (which may not be necessary, given the low
pop-con), you need to provide a new version of package A (can be built
from the source of package B, is the versioning scheme is correct). This
new package A is a dummy package, in section oldlibs, whose unique
purpose is to pull B.

The dummy package A will stay on the system for a while. Tools like
deborphan will be able to prune it. It's possible that aptitude will do
it automagically at some point too.

If there is a problem with installing new B concurrently with old A,
then you need to put the Breaks/Replaces machinery into place. In this
case it must be a versioned Breaks, since you actually want the dummy
package A to be co-installable with B. With a non-versioned Breaks, A
would depend on B, which would conflict with A, rendering A
uninstallable, which is forbidden.

Note that there is no way to ensure that upgrading A will automatically
end-up with B being installed and A being uninstalled. This is certainly
what you are looking for, it does not exist in Debian.

Now it's your package. I just wanted to be sure that you understand how
this all works, but it's your call whether or not to introduce the dummy
package. The Breaks/Replaces machinery looks quite unnecessary to me
except for the -doc package as you said. I'll upload whatever you decide
to do.

Some more details: in practice, what Replaces does is, in the two
situations:

 File conflict:
Warn dpkg that pkg B may overwrite files in A, which needs to be either
removed or upgraded, which the (possibly versioned) Breaks or Conflicts
ensures. Without the Replaces, dpkg would complain and stop, which is
quite nasty.

 Install only one MTA:
Tell apt that B should win the Conflict over A. This really is scarcely
used, I'm almost certain that the MTA example is the reason why this
machinery was invented.

Kind regards, Thibaut.

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: