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

Re: supporting seemless package renames



On Thursday 08 April 2010 15:52:19 Jonathan Nieder wrote:
> Eugene V. Lyubimkin wrote:
> > Firstly, I'd ask you next time you CC deity@l.d.o, CC
> > cupt@packages.debian.org as well.
> 
> CC added.
Thanks.

> > 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.
Your solution is more convenient, indeed. If it gets accepted, I would use it 
rather than --status-fd one. So OK, nevermind that argument. But I'd prefer to 
not have disappeared packages at all, even if this is unlikely to happen.

> > - 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?
Disappeared packages do not receive prerm because of complicated dpkg logic 
behind it (KISS, KISS...), by the time of dpkg decides that package will 
disappear the files of the package may be deleted already. Given that I suppose 
that this behavior is intentional. However if you as dpkg contributor want to 
change it - I will support you.


> In the short term, maintainers would have to work around this in the
> preinst of the replacing package.
I don't think it worth the trouble, but YMMV.

> > - 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).
I would argue that package manager should not consider debtags as a source of 
critical control information. And if that information is going to be added, 
then there is no point of having '--ignore-not-installed', right? :)

> 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).
Removing transitional package is not so important task. Nothing changed if it 
stays in the system, apart of list of installed packages. Seamless upgrades 
(in the meaning of dpkg not erroring out in the middle of) are IMO much more 
important.

> > - 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.
> 
Ah, OK then.


Reply to: