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

Bug#282278: apt mixes essential flag from all sources

On 2011-10-17 06:40:22 -0500, Jonathan Nieder wrote:
> Yes, I know that.  But how could apt know?
> Imagine that we were not just shifting around names, but actually
> successfully eliminated some functionality from the essential set.
> For example, let's say in wheezy+20, that perl-base is no longer
> essential.  Then:
> > The warning was triggered here just because (according to what was
> > said) I had something like:
> >
> > deb ... stable main contrib non-free
> >
> > in my /etc/apt/sources.list file, and that the shellutils version
> > from Debian/stable had "Essential: yes". But what is wrong is that
> > the version that was currently installed (and was requested to be
> > removed) was from testing or unstable, and it was not essential.
> I upgrade perl-base to wheezy+20, but I still have packages from
> wheezy+19, whose maintainer scripts (e.g., preinst) use perl without
> depending on it.  Then apt _must_ prevent me from casually removing
> perl-base.

Ah, OK.

> Ideas for rewording the error message to make its purpose clearer
> would be very welcome.

I think that apt should output a different message for packages that
were essential in the past but are no longer essential. For instance:

WARNING: The following packages were essential in the past and will
be removed. Though no longer essential, these packages may still be
needed by other (older) packages. Please look at the description of
these packages to see if it is safe to remove them.

Would that be OK?

Also, if apt could detect that some such package is a dummy package
(i.e. with files only under /usr/share/doc?), I suppose that it would
not need to output the warning.

Now, with the example above, what if after wheezy+20, perl-base
becomes a package with fewer features, i.e. where some of the
features that were part of the essential package have been moved
to a different package, say perl-extra (not essential either),
with no dependencies of perl-base on perl-extra? The user would
still get the warning if he attempts to remove perl-base, but
what if he attempts to remove perl-extra?

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: