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

Bug#177952: marked as done (No way to suppress installation of essential packages)



Your message dated Sun, 21 Mar 2010 13:00:55 +0100
with message-id <[🔎] 20100321125315.GA3089@debian.org>
and subject line Re: Bug#574729: apt: essential is not a priority. apt-get should not install essential packages by default
has caused the Debian Bug report #177952,
regarding No way to suppress installation of essential packages
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: base
Version: N/A; reported 2003-01-22
Severity: normal

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have a woody system, but neede to install spamassassin from sarge,
because the one in woody is broken.  I used Pin-Priorites for that.
Here's the contents of the config files:

debina:~# cat /etc/apt/sources.list
deb ftp://ftp.pl.debian.org/debian/ sid main contrib non-free
deb ftp://ftp.pl.debian.org/debian-non-US/ sid/non-US main contrib non-free
deb ftp://ftp.pl.debian.org/debian/ woody main contrib non-free
deb ftp://ftp.pl.debian.org/debian-non-US/ woody/non-US main contrib non-free
deb ftp://ftp.pl.debian.org/debian/ sarge main contrib non-free
deb ftp://ftp.pl.debian.org/debian-non-US/ sarge/non-US main contrib non-free
debina:~# cat /etc/apt/preferences 
Package: *
Pin: release a=stable
Pin-Priority: 600

Package: *
Pin: release a=testing
Pin-Priority: 70

Package: *
Pin: release a=unstable
Pin-Priority: 40

I wanted to upgrade to the latest woody 3.0r1: 

debina:~# apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following NEW packages will be installed:
  coreutils 
22 packages upgraded, 1 newly installed, 0 to remove and 0  not upgraded.
Need to get 14.1MB of archives. After unpacking 5890kB will be used.
Do you want to continue? [Y/n] 
Get:1 ftp://ftp.pl.debian.org sarge/main coreutils 4.5.2-1 [1966kB]

coreutils is a package from sarge, which replaces woody's textutils,
shellutils and fileutils. apt-get should know from my
/etc/apt/preferences that my system is stable/woody, and it should not
(yet) replace my woody's *utils with sarge's coreutils (which did not
exist in woody). 

- -- System Information
Debian Release: 3.0
Architecture: i386
Kernel: Linux debina 2.4.18 #4 Sat Dec 28 05:46:45 CET 2002 i686
Locale: LANG=C, LC_CTYPE=pl_PL

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE+Lw5Ief2MJBeMWJ0RAloRAJ4pgKsj3zC+GNVfeci6jp26RZoAEACbBdsN
nS+4r7bpxHQU+NOWxDp8rJU=
=CReI
-----END PGP SIGNATURE-----


--- End Message ---
--- Begin Message ---
On Sun, Mar 21, 2010 at 04:36:59AM +0100, Santiago Vila wrote:
> Julian Andres Klode escribió:
> >forcemerge 177952 574729
> >thanks
> >
> >On Sat, Mar 20, 2010 at 04:27:14PM +0100, Santiago Vila wrote:
> >>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:
> >It is not, read Policy section 3.8:
> >
> > "Essential is defined as the minimal set of functionality that MUST
> >  be available and usable on the system at all times
> >  [...]
> >  Packages may assume that functionality provided by essential
> >  packages is always available without declaring explicit dependencies"
> >
> >If apt were not installing them, those packages would not be available
> >on the system (1st part) and packages could not assume that they are
> >available (2nd part). Thus, not installing all essential packages
> >would violate the Policy and may result in a broken system.
> 
> No, you are drawing conclusions that are not in policy. apt-get
> would not violate policy, because policy does not say that apt-get
> should try to "fix" the system.
It only tries it in dist-upgrade or when installing new packages; and
not on upgrade. And thus it's not fixing the system; but just ensuring
that everything needed is there before doing distribution upgrades or
new installations. Otherwise, changing the essential package set would
be a much more difficult thing.

> 
> Usually, essential and required packages are installed because
> debootstrap installs them in the very first system install, and also
> because it is difficult to remove them. So in practice it is not,
> and it has never been necessary for apt-get to install them.
> 
> If the user does "dpkg --force-remove-essential", whatever breakage
> that may result is entirely under the responsability of the *user*,
> not the responsability of apt.
> 
> Moreover, quoted section 3.8 is just a description of essential, not
> a description of how package managers should behave. For a
> description of what the package system should do, we might also read
> section 5.6.9:
> 
> 5.6.9. `Essential'
> ------------------
> 
>   This is a boolean field which may occur only in the control file of a
>   binary package or in a per-package fields paragraph of a main source
>   control data file.
> 
>   If set to `yes' then the package management system will refuse to
>   remove the package (upgrading and replacing it is still possible).
> 
> Please note that it says "refuse to remove the package" (which in
> practice it translates into making particularly difficult to remove
> it), it does *not* say the package management system should
> *reinstall* it again at the smallest chance!
> 
> If dpkg allows the user to remove an essential package (using an
> extra option), apt should not second-guess the will of the user, at
> least not automatically, and definitely not without asking first.
> 
> Keeping the integrity of the system might be a desirable and nice
> thing in some cases, but it's not something that should be done
> *against* the will of the user!

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.

Anyway, this bug is done.

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

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

Attachment: pgpKXXytuuhdS.pgp
Description: PGP signature


--- End Message ---

Reply to: