Re: supporting seemless package renames
Eugene V. Lyubimkin wrote:
> Firstly, I'd ask you next time you CC email@example.com, CC firstname.lastname@example.org
> as well.
> Secondly, AFAIK, Guillem Jover some time ago added a notice of disappeared
> packages to --status-fd dpkg output, so theoretically any high-level package
> manager can use it (practically, I don't know whether apt uses/will use it or
> not, but cupt does not, due to to 'Thirdly' below).
Is there a reason to prefer this approach over --ignore-not-installed?
I think simplest is best.
> - Policy says that disappearted packages will not receive 'prerm' signal.
> Then, what's the point of having it when maintainer cannot guarantee it will
> be called?
Hmm, sounds like a bug in policy. I think disappeared packages ought
to receive prerm. Would you like to raise the issue, or should I?
In the short term, maintainers would have to work around this in the
preinst of the replacing package.
> - When you upgrades your system by some high-level package manager it usually
> says you that 'packages oldpkg and newpkg will be upgraded' (or 'newpkg will
> be installed and oldpkg is upgraded'). Once oldpkg gets suddenly dropped, it's
> inconvenient (at least) to high-level package managers, may confuse users,
> and, in case, just a lie. If the package manager says it will upgraded, it
> should be upgraded and not removed.
It would be better if the package manager could say ‘the oldpkg
package will renamed by this upgrade; its new name is newpkg’.
Unfortunately, in the current control file format, I don’t know a way
to express that. Maybe debtags can help (role::dummy).
The main advantage to the disappearing package trick is to avoid the
confusing situation of asking the operator to do something that would
be very easy to do mechanically (removing the transitional packages).
> - The use-case for 'fast transition' doesn't look good to me, because when
> user will try to install the package he/she will see 'the package does not
> exist' instead of installing newpkg and transitional oldpkg.
I think you misunderstood what I meant by seemless. I think the oldpkg
package should still stay available for at least as long as it already does;
it just should not be installed on anyone’s system any more.
So the person will see 'the package exists, but you do not have it
Thanks for the comments.