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

Bug#282278: apt mixes essential flag from all sources



On 2011-10-18 13:28:37 +0200, David Kalnischkies wrote:
> If we go with the wheezy+20 perl-base essential drop example:
> 
> If we are on wheezy+19 yet in which perl-base is essential,
> we need a really scary message displayed to discourage users to
> shoot themselves in the foot, or are we in some funky mixture of it,
> maybe because a dist-upgrade failed because of some packaging bug?
> In that case what means 'other suite' here? It is just 'not the currently
> installed suite for perl-base'? But this tells us nothing, perl-base is or
> isn't upgraded yet, but this doesn't say anything about packages
> implicitly depending on it, so the message should be still equally scary
> as there are potential still packages thinking of perl-base as essential.
> Last, we have "fully" upgraded to wheezy+20, perl-base isn't essential
> any more for this release, but does all these obsolete packages know this?
> And, why does the user have wheezy+19 archive still in the sources.list if
> he doesn't get packages from there anymore?

But on what source is the scary message based? sources.list only or
something else based on what is installed? (I'm not sure whether
I understood what was said below about VerFileIterators, etc.)

For instance, the user may remove wheezy+19 from sources.list,
but still have old packages installed, so that the scary message
should still occur.

> Right, he either still gets packages from there making it a mixed system on
> which perl-base needs to be installed as it is essential for exactly the
> packages he gets from wheezy+19 sources OR the user wants to clean up his
> system by removing now obsolete packages but doesn't start with the most
> obvious cleanup step: Removing old sources…

Removing old sources make sense only if the old packages from these
sources are removed too. Otherwise what about security updates?

> In all but the last case changing the message is just plain wrong.
> Beside, the message says:
> "This should NOT be done unless you know exactly what you are doing!"
> So there is the problem? Users who don't know what they remove?
> Yes that is a problem and this message is specifically designed for those.
> Users who know what they do? No, as the message explicitly say that you
> can proceed if you know what you do.

One problem is that the current message is

  "WARNING: The following essential packages will be removed"

but if the user looks at the installed package, he can see that
it is *not* essential. The user may think: apt is wrong. And he
may remove the package, based on this information. So, it is
important that the warning message is rigorously correct.

Another problem is that the description of the package says:

  Empty package to facilitate upgrades, can be safely removed.
                                               ^^^^^^

and apt says the opposite. The user should get the information to
resolve this contradiction without ambiguity or misinterpretation.

> P.S.: Vincent, Essentials can't just change their featureset.
> If they are split up a metapackage with the old name remains,
> so removing perl-extra would remove the old 'perl-base' metapackage
> which APT complains about as being essential.

But what if perl-base is no longer essential in some release, and in
the next release, some parts of perl-base are moved to a new package
perl-extra (without perl-base being a metapackage)?

Is this possible, or does Debian carefully check the whole history of
packages to make sure this will never happen?

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)



Reply to: