Re: Transition from oldpackagename to newpackagename
On Mon, Feb 21, 2011 at 05:03, Ben Finney <email@example.com> wrote:
> When making a new release of a source package that renames one of its
> binary packages, at <URL:http://wiki.debian.org/Renaming_a_Package> it
> is asserted “most package managers (including AFAIK apt) do not know to
> replace the old with the new one”.
> Is that still true of APT? Or does APT now know that a new package
> should be installed if it:
> Provides: oldname
> Replaces: oldname (<< fooversion)
> Conflicts: oldname (<< fooversion)
Note that a Breaks is in most cases enough (lintian will report that, too).
Provides introduces more problems than it solves, so i would avoid that too -
just remember that Provides can't be versioned… (behavior is undefined).
If we have a more detailed look:
Conflicts doesn't tell us anything useful - beside that the user might loose
functionality, so package managers will try to guess which of the two
is the "better" alternative considering the current system state
(Same for Breaks which can't be upgraded).
Replaces just tells use that some files will be overridden - nothing about
the same functionality and some files are not all files.
Provides just tells use that they have a similar interface like we have e.g.
for a mail-transport-agent but they are not considered to be completely
equal (e.g. configuration) -- or are exim4 and postfix really the same?
Also beside that the package manager might be a bit confused, it confuses
maybe the user who will see that his beloved package oldname will be removed
in an upgrade to a new version of debian! Its far better in this case to leave
the "cruft" behind until the user is in the mood to remove this stuff and can
realize that newname is now the provider of his beloved program.
(S)he will have a hard time to see it in an operation which changes thousands
of packages as a dist-upgrade will do…
So in my eyes doing everything in one step is not always the best solution…
Earlier revisions of this wikipage included also 'disappearing' of packages
which dpkg seems to support for a while and APT does it now in squeeze,
but i am not sure what the best practice is regarding this.
Especially as most (if not all) frontends doesn't show the disappeared
packages which could again confuse a user…