X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=7de382d39ff9ba4dd367575ecbb95db7f64518ad;hb=3c33e7cdf315b5168b19ce2aaed12e991b309b3b;hp=f7b33664a4c9d4d9f5bee85f63d2c66331a54b0b;hpb=da577f74fbf53ebe8b936a6fe0618e96dd35ba55;p=debian%2Fdebian-policy.git diff --git a/policy.sgml b/policy.sgml index f7b3366..7de382d 100644 --- a/policy.sgml +++ b/policy.sgml @@ -753,7 +753,8 @@ with required, important, standard or optional priorities, or are only likely to be useful if you already know what they are or have specialized - requirements. + requirements (such as packages containing only detached + debugging symbols).
@@ -1011,29 +1012,23 @@ (see below), and should not do so unless they depend on a particular version of that package.- Essential is defined as the minimal set of functionality - that must be available and usable on the system even - when packages are in an unconfigured (but unpacked) - state. This is needed to avoid unresolvable dependency - loops on upgrade. If packages add unnecessary - dependencies on packages in this set, the chances that - there will be an unresolvable - dependency loop caused by forcing these Essential - packages to be configured first before they need to be - is greatly increased. It also increases the chances - that frontends will be unable to - calculate an upgrade path, even if one - exists. + Essential is needed in part to avoid unresolvable dependency + loops on upgrade. If packages add unnecessary dependencies + on packages in this set, the chances that there + will be an unresolvable dependency loop + caused by forcing these Essential packages to be configured + first before they need to be is greatly increased. It also + increases the chances that frontends will be unable to + calculate an upgrade path, even if one + exists.
- Also, it's pretty unlikely that functionality from - Essential shall ever be removed (which is one reason why - care must be taken before adding to the Essential - packages set), but packages have been removed - from the Essential set when the functionality moved to a - different package. So depending on these packages - just in case they stop being essential does way - more harm than good. + Also, functionality is rarely ever removed from the + Essential set, but packages have been removed from + the Essential set when the functionality moved to a + different package. So depending on these packages just + in case they stop being essential does way more harm + than good.
- Some packages are tagged essential for a system - using the Essential control file field. - The format of the Essential control field is - described in . + Essential is defined as the minimal set of functionality that + must be available and usable on the system at all times, even + when packages are in an unconfigured (but unpacked) state. + Packages are tagged essential for a system using the + Essential control file field. The format of the + Essential control field is described in .
@@ -1147,6 +1145,19 @@ appropriate.
++ Maintainers should take great care in adding any programs, + interfaces, or functionality to essential packages. + Packages may assume that functionality provided by + essential packages is always available without + declaring explicit dependencies, which means that removing + functionality from the Essential set is very difficult and is + almost never done. Any capability added to an + essential package therefore creates an obligation to + support that capability as part of the Essential set in + perpetuity. +
+
You must not tag any packages essential before
this has been discussed on the debian-devel
@@ -1205,8 +1216,8 @@
Package maintainer scripts may prompt the user if
necessary. Prompting should be done by communicating
through a program, such as
- The Debian Configuration management specification is included
+ The Debian Configuration Management Specification is included
in the
- Packages which use the Debian Configuration management
- specification may contain an additional
+ Packages which use the Debian Configuration Management
+ Specification may contain an additional
- Packages which use the Debian Configuration management
- specification must allow for translation of their messages
- by using a gettext-based system such as the one provided by
- the
@@ -3425,8 +3436,7 @@ Package: libc6 scripts this means that you almost always need to use set -e (this is usually true when writing shell scripts, in fact). It is also important, of course, that - they don't exit with a non-zero status if everything went - well. + they exit with a zero status if everything went well.
@@ -7057,18 +7067,19 @@ strip --strip-unneeded your-lib
support -a and -o as binary logical
operators.
The postrm has to do the reverse: