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

Bug#574729: marked as done (apt: essential is not a priority. apt-get should not install essential packages by default)



Your message dated Thu, 1 Apr 2010 13:27:22 +0200
with message-id <20100401132420.GA3162@debian.org>
and subject line Re: apt pinning doesn't work for essential packages
has caused the Debian Bug report #177952,
regarding apt: essential is not a priority. apt-get should not install essential packages by default
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
177952: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177952
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: apt
Version: 0.7.25.3

It seems apt-get installs new essential packages by default.

This *is* a bug. Please let me explain why:

The purpose and meaning of the essential flag is, and it has always
been "should not be removed", *not* "should be installed by default".

Those two things might seem very similar, but they are not!

The following example comes from a very old discussion about this:

Consider for example a forked "e2fsprogs" package having a different name,
say "e2fsprogs-foo". This package would Conflicts and Replaces the ordinary
"e2fsprogs" package. It would be of extra priority, as it conflicts
with a required package. However, it would be also "Essential: yes".

That way, installing "e2fsprogs-foo" would remove e2fsprogs automatically,
but the user would have to use "dpkg --force-remove-essential" to
remove "e2fsprogs-foo" in exactly the same way it would have to do that
to remove "e2fsprogs".

In any of these two cases, the job of dpkg (which should be also the
job of apt-get) is to prevent the user from uninstalling an essential
package accidentally, but clearly *not* to ensure that "all essential
packages are installed" as "e2fsprogs" and "e2fsprogs-foo" conflict
at each other and may not be installed at the same time.



By installing essential packages by default, apt-get is treating the
essential flag as if it were one more priority over "required". That's
not the case, essential is just a flag to prevent accidental remove,
not a priority.

Note 1: To my amazement, Bug#177952 asks for an option to disable the
current behaviour and it's marked "wontfix"! While such option would
certainly be a step in the right direction, that would not change
the fact that the default behaviour is a bug!

Note 2: Whenever new essential packages are added to the system,
old essential packages depend on them (example: the diff->diffutils
transition from lenny to squeeze), so the ability to add packages to
the set of essential packages should not be considered as a good
reason to keep the current behaviour.


Thanks.



--- End Message ---
--- Begin Message ---
Version: 0.7.25.3

Closing again. Please do not reopen fixed bugs just because
they still exist in older releases.

On Thu, Apr 01, 2010 at 02:06:06PM +0300, Teodor MICU wrote:
> reopen 177952
> found 177952 0.7.20.2+lenny1
> fixed 177952 0.7.25.3
> thanks
> 
> The main point of these old bug reports is that there is no way of
> (willingly) preventing the installation of an essential package.
> In our present time we're confronting with the 'diff' -> 'diffutils'
> transition of an essential package. I have to keep "testing" in my
> sources.list file for a single 'noarch' package (PHP-based
> application) that I want to keep it updated. I have no reason to
> replace 'diff' with 'diffutils' because of this, so I'm looking for a
> solution of preventing an accidental install of 'diffutils' essential
> package.
> 
> > You can prevent the installation of new essential packages by
> > pinning them to -1:
> >
> > 	Package: test-essential
> > 	Pin: version 0.0-0
> > 	Pin-Priority: -1
> >
> > Thus I'm also closing bug #177952; because it is possible
> > to "suppress installation of essential packages". Due to
> > Bug #216768 this may not always work in practice; but I
> > have not checked it further.
> 
> That's the thing, not even using "Pin-Priority: -1" for an essential
> package will prevent it from being installed. Either by executing
> "apt-get dist-upgrade" or "apt-get install diffutils" the new
> essential package is installed even if the pin priority is "-1".
> 
> This bug seems fixed for 'squeeze' but not on 'lenny'. Does a fix for
> this qualifies for an update or will be tagged with lenny-ignore?
No, it's a wishlist bug.

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.

Attachment: pgp_MtksEHbWk.pgp
Description: PGP signature


--- End Message ---

Reply to: