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.
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!