From: Manoj Srivastava Date: Thu, 16 Jun 2005 05:38:56 +0000 (+0000) Subject: various formatting fixes X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=269b8caa0dcb0aef948eb82d83ce1a93d4c6b8a5;p=debian%2Fdebian-policy.git various formatting fixes Author: joy Date: 2003/03/23 16:51:38 various formatting fixes git-archimport-id: srivasta@debian.org--etch/debian-policy--devel--3.0--patch-210 --- diff --git a/policy.sgml b/policy.sgml index 6116725..940cb09 100644 --- a/policy.sgml +++ b/policy.sgml @@ -79,7 +79,6 @@ Standard interfaces -

The material presented represents an interface to the packaging system that is mandated for use, and is used by, a significant number of packages, and @@ -90,16 +89,13 @@ compatibility with these interface definitions. (Control file and changelog file formats are examples.) -

Chosen Convention -

If there are a number of technically viable choices that can be made, but one needs to select one of these options for inter-operability. The version number format is one example. -

Please note that these are not mutually exclusive; @@ -229,10 +225,13 @@ of the Policy Manual regarding changes to the Policy.

+ + The Debian Archive +

The Debian GNU/Linux system is maintained and distributed as a collection of packages. Since there are so many of @@ -240,6 +239,7 @@ sections and given priorities to simplify the handling of them.

+

The effort of the Debian project is to build a free operating system, but not every package we want to make accessible is @@ -271,17 +271,15 @@ -

to allow us to make as much software available as we - can,

+ to allow us to make as much software available as we can, -

to allow us to encourage everyone to write free - software, and

+ to allow us to encourage everyone to write free software, and
-

to allow us to make it easy for people to produce + to allow us to make it easy for people to produce CD-ROMs of our system without violating any licenses, - import/export restrictions, or any other laws.

+ import/export restrictions, or any other laws.

@@ -294,36 +292,29 @@ Free Redistribution -

The license of a Debian component may not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license may not require a royalty or other fee for such sale. -

Source Code -

The program must include source code, and must allow distribution in source code as well as compiled form. -

Derived Works -

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. -

Integrity of The Author's Source Code -

The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" @@ -335,41 +326,33 @@ original software. (This is a compromise. The Debian Project encourages all authors to not restrict any files, source or binary, from being modified.) -

No Discrimination Against Persons or Groups -

The license must not discriminate against any person or group of persons. -

No Discrimination Against Fields of Endeavor -

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. -

Distribution of License -

The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. -

License Must Not Be Specific to Debian -

The rights attached to the program must not depend on the program's being part of a Debian system. If the program is extracted from Debian and used or @@ -378,26 +361,21 @@ the program is redistributed must have the same rights as those that are granted in conjunction with the Debian system. -

License Must Not Contaminate Other Software -

The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be free software. -

Example Licenses -

The "GPL," "BSD," and "Artistic" licenses are examples of licenses that we consider free. -

@@ -407,60 +385,53 @@

Every package in main and non-US/main must comply with the DFSG (Debian Free Software - Guidelines).

+ Guidelines). +

In addition, the packages in main -

must not require a package outside of main for compilation or execution (thus, the package must not declare a "Depends", "Recommends", or "Build-Depends" relationship on a non-main package), -

-

must not be so buggy that we refuse to support them, and -

-

must meet all policy requirements presented in this manual. -

+

Similarly, the packages in non-US/main -

must not require a package outside of main or non-US/main for compilation or execution, -

-

must not be so buggy that we refuse to support them, -

-

must meet all policy requirements presented in this manual. -

+ - + + The contrib section +

Every package in contrib and non-US/contrib must comply with the DFSG. @@ -471,16 +442,12 @@ non-US/contrib -

must not be so buggy that we refuse to support them, and -

-

must meet all policy requirements presented in this manual. -

@@ -496,71 +463,68 @@ contrib or non-US/contrib are: -

free packages which require contrib, non-free packages or packages which are not in our archive at all for compilation or execution, and -

-

wrapper packages or other sorts of free accessories for non-free programs. -

- + + The non-free section +

Packages must be placed in non-free or non-US/non-free if they are not compliant with the DFSG or are encumbered by patents or other legal issues that make their distribution problematic.

+

In addition, the packages in non-free and non-US/non-free -

must not be so buggy that we refuse to support them, and -

-

must meet all policy requirements presented in this - manual that it is possible for them to meet. -

+ manual that it is possible for them to meet. + It is possible that there are policy requirements which the package is unable to meet, for example, if the source is unavailable. These situations will need to be handled on a case-by-case basis. -

-

- + The non-US sections +

Non-free programs with cryptographic program code need to be stored on the non-us server because of export restrictions of the U.S.

+

Programs which use patented algorithms that have a restrictied license also need to be stored on "non-us", since that is located in a country where it is not allowed to patent algorithms.

+

A package depends on another package which is distributed via the non-us server has to be stored on the non-us @@ -580,26 +544,18 @@ anywhere in our archives if -

their use or distribution would break a law, -

-

there is an ethical conflict in their distribution or use, -

-

we would have to sign a license for them, or -

-

their distribution would conflict with other project policies. -

@@ -666,25 +622,19 @@ should be of the form: -

subsection if the package is in the main section, -

-

section/subsection if the package is in the contrib or non-free section, and -

-

non-US, non-US/contrib or non-US/non-free if the package is in non-US/main, non-US/contrib or non-US/non-free respectively. -

@@ -720,7 +670,6 @@ required -

Packages which are necessary for the proper functioning of the system. You must not remove these packages or your system may become totally broken and @@ -728,22 +677,19 @@ put things back. Systems with only the required packages are probably unusable, but they do have enough functionality to allow the - sysadmin to boot and install more software.

+ sysadmin to boot and install more software.
important -

Important programs, including those which one would expect to find on any Unix-like system. If the expectation is that an experienced Unix person who found it missing would say "What on earth is going on, where is foo?", it must be an important package. -

This is an important criterion because we are trying to produce, amongst other things, a free Unix. -

Other packages without which the system will not run well or be usable must also have priority @@ -751,19 +697,17 @@ not include Emacs, the X Window System, TeX or any other large applications. The important packages are just a bare minimum of - commonly-expected and necessary tools.

+ commonly-expected and necessary tools.
standard -

These packages provide a reasonably small but not too limited character-mode system. This is what will be installed by default if the user doesn't select anything - else. It doesn't include many large applications.

+ else. It doesn't include many large applications.
optional -

(In a sense everything that isn't required is optional, but that's not what is meant here.) This is all the software that you might reasonably want to @@ -772,19 +716,17 @@ and includes the X Window System, a full TeX distribution, and many applications. Note that optional packages should not conflict with each other. -

extra -

This contains all packages that conflict with others with required, important, standard or optional priorities, or are only likely to be useful if you already know what they are or have specialised requirements. -

-

+ +

Packages must not depend on packages with lower priority @@ -1137,6 +1079,7 @@ installation, elimination of redundant prompting, consistency of user interface, etc.

+

With this increasing number of packages using debconf, plus the existance of a @@ -1310,27 +1253,22 @@

Rationale: -

This allows maintaining the list separately + This allows maintaining the list separately from the policy documents (the list does not need the kind of control that the policy documents do). -

-

Having a separate package allows one to install the build-essential packages on a machine, as well as allowing other packages such as tasks to require installation of the build-essential packages using the depends relation. -

-

The separate package allows bug reports against the list to be categorized separately from the policy management process in the BTS. -

@@ -1598,7 +1536,6 @@ Package: libc6 stable -

This is the current "released" version of Debian GNU/Linux. Once the distribution is stable only security fixes and other @@ -1606,24 +1543,20 @@ Package: libc6 made to this distribution, the release number is increased (for example: 2.2r1 becomes 2.2r2 then 2.2r3, etc). -

unstable -

This distribution value refers to the developmental part of the Debian distribution tree. New packages, new upstream versions of packages and bug fixes go into the unstable directory tree. Download from this distribution at your own risk. -

testing -

This distribution value refers to the testing part of the Debian distribution tree. It receives its packages from the @@ -1633,12 +1566,10 @@ Package: libc6 than unstable, but still risky. It is not possible to upload packages directly to testing. -

frozen -

From time to time, the testing distribution enters a state of "code-freeze" in anticipation of release as a stable @@ -1646,12 +1577,10 @@ Package: libc6 fixes for existing or newly-discovered bugs will be allowed. The exact details of this stage are determined by the Release Manager. -

experimental -

The packages with this distribution value are deemed by their maintainers to be high risk. Oftentimes they represent early beta or @@ -1660,7 +1589,6 @@ Package: libc6 ready to be a part of the other parts of the Debian distribution tree. Download at your own risk. -

@@ -1670,10 +1598,11 @@ Package: libc6

- +
+ Version numbering

@@ -2114,7 +2043,8 @@ Package: libc6

The architectures we build on and build for are determined by make variables using the utility - dpkg-architecture. You can determine the + dpkg-architecture. + You can determine the Debian architecture and the GNU style architecture specification string for the build machine (the machine type we are building on) as well as for the host machine (the @@ -2122,19 +2052,19 @@ Package: libc6 supported make variables: -

DEB_*_ARCH (the Debian architecture)

+ DEB_*_ARCH (the Debian architecture) -

DEB_*_GNU_TYPE (the GNU style architecture - specification string)

+ DEB_*_GNU_TYPE (the GNU style architecture + specification string)
-

DEB_*_GNU_CPU (the CPU part of - DEB_*_GNU_TYPE)

+ DEB_*_GNU_CPU (the CPU part of + DEB_*_GNU_TYPE)
-

DEB_*_GNU_SYSTEM (the System part of - DEB_*_GNU_TYPE)

+ DEB_*_GNU_SYSTEM (the System part of + DEB_*_GNU_TYPE) where * is either BUILD for specification of the build machine or HOST for specification of the @@ -2654,118 +2584,109 @@ Package: libc6

-

new-preinst install

+ new-preinst install
-

new-preinst install - old-version

+ new-preinst install old-version
-

new-preinst upgrade - old-version

+ new-preinst upgrade old-version
-

old-preinst abort-upgrade + old-preinst abort-upgrade new-version -

-

postinst configure - most-recently-configured-version

+ postinst configure + most-recently-configured-version -

old-postinst abort-upgrade - new-version

+ old-postinst abort-upgrade + new-version
-

conflictor's-postinst abort-remove + conflictor's-postinst abort-remove in-favour package - new-version

+ new-version
-

deconfigured's-postinst abort-deconfigure in-favour failed-install-package version removing conflicting-package version -

-

prerm remove

+ prerm remove -

old-prerm upgrade - new-version

+ old-prerm upgrade + new-version
-

new-prerm failed-upgrade - old-version

+ new-prerm failed-upgrade + old-version
-

conflictor's-prerm remove + conflictor's-prerm remove in-favour package - new-version

+ new-version
-

deconfigured's-prerm deconfigure in-favour package-being-installed version removing conflicting-package version -

-

postrm remove

+ postrm remove -

postrm purge

+ postrm purge
-

old-postrm upgrade - new-version

+ new-version
-

new-postrm failed-upgrade - old-version

+ new-postrm failed-upgrade + old-version
-

new-postrm abort-install

+ new-postrm abort-install
-

new-postrm abort-install - old-version

+ new-postrm abort-install + old-version
-

new-postrm abort-upgrade - old-version

+ new-postrm abort-upgrade + old-version
-

disappearer's-postrm disappear overwriter - overwriter-version

+ overwriter-version +

- Details of unpack phase of - installation or upgrade - + + Details of unpack phase of installation or upgrade

The procedure on installation/upgrade/overwrite/disappear @@ -2779,17 +2700,14 @@ Package: libc6 -

-

If a version of the package is already - installed, call + If a version of the package is already installed, call old-prerm upgrade new-version -

+ -

If the script runs but exits with a non-zero exit status, dpkg will attempt: @@ -2799,16 +2717,14 @@ Package: libc6 old-postinst abort-upgrade new-version -

-

+ -

If a "conflicting" package is being removed at the same time: + If a "conflicting" package is being removed at the same time: -

If any packages depended on that conflicting package and --auto-deconfigure is specified, call, for each such package: @@ -2826,10 +2742,10 @@ Package: libc6 The deconfigured packages are marked as requiring configuration, so that if --install is used they will be - configured again if possible.

+ configured again if possible.
-

To prepare for removal of the conflicting package, call: + To prepare for removal of the conflicting package, call: conflictor's-prerm remove \ in-favour package new-version @@ -2839,31 +2755,28 @@ Package: libc6 conflictor's-postinst abort-remove \ in-favour package new-version -

-

+ -

-

If the package is being upgraded, call: + If the package is being upgraded, call: new-preinst upgrade old-version -

+
-

Otherwise, if the package had some configuration files from a previous version installed (i.e., it is in the "configuration files only" state): new-preinst install old-version -

- + +
-

Otherwise (i.e., the package was completely purged): + Otherwise (i.e., the package was completely purged): new-preinst install @@ -2873,11 +2786,10 @@ Package: libc6 new-postrm abort-install old-version new-postrm abort-install -

-

+

The new package's files are unpacked, overwriting any @@ -2918,10 +2830,8 @@ Package: libc6 lead to "missing" programs if, for example, a package is installed which overwrites a file from another package, and is then removed again. -

Part of the problem is due to what is arguably a bug in dpkg. -

@@ -2930,21 +2840,21 @@ Package: libc6 to a directory or vice versa; instead, the existing state (symlink or not) will be left alone and dpkg will follow the symlink if there is - one.

+ one. +

-

If the package is being upgraded, call + If the package is being upgraded, call old-postrm upgrade new-version -

-

If this fails, dpkg will attempt: + If this fails, dpkg will attempt: new-postrm failed-upgrade old-version @@ -2952,10 +2862,10 @@ Package: libc6 old-preinst abort-upgrade new-version -

+

This is the point of no return - if dpkg gets this far, it won't back off @@ -2966,38 +2876,37 @@ Package: libc6 things that are irreversible.

+ -

Any files which were in the old version of the package - but not in the new are removed.

+ but not in the new are removed.
+ -

The new file list replaces the old.

+ The new file list replaces the old.
+ -

The new maintainer scripts replace the old.

+ The new maintainer scripts replace the old.
-

Any packages all of whose files have been overwritten during the - installation, and which aren't required for + Any packages all of whose files have been overwritten + during the installation, and which aren't required for dependencies, are considered to have been removed. For each such package -

dpkg calls: + dpkg calls: disappearer's-postrm disappear \ overwriter overwriter-version -

-

The package's maintainer scripts are removed. -

+ The package's maintainer scripts are removed.
-

It is noted in the status database as being in a sane state, namely not installed (any conffiles it may have are ignored, rather than being @@ -3006,24 +2915,20 @@ Package: libc6 called, because dpkg doesn't know in advance that the package is going to vanish. -

-

+ -

Any files in the package we're unpacking that are also listed in the file lists of other packages are removed from those lists. (This will lobotomize the file list of the "conflicting" package if there is one.) -

+ -

The backup files made during installation, above, are deleted. -

@@ -3041,14 +2946,12 @@ Package: libc6 -

If there was a conflicting package we go and do the removal actions (described below), starting with the removal of the conflicting package's files (any that are also in the package being installed have already been removed from the conflicting package's file list, and so do not get removed now). -

@@ -3085,23 +2988,17 @@ Package: libc6

-

prerm remove -

-

The package's files are removed (except conffiles). -

-

postrm remove -

@@ -3114,26 +3011,25 @@ Package: libc6 that packages which have no postrm and no conffiles are automatically purged when removed, as there is no difference except for the - dpkg status.

+ dpkg status. +

-

The conffiles and any backup files (~-files, #*# files, %-files, .dpkg-{old,new,tmp}, etc.) - are removed.

+ are removed.
-

postrm purge -

-

The package's file list is removed.

+ The package's file list is removed.
+ No attempt is made to unwind after errors during removal.

@@ -3141,11 +3037,11 @@ Package: libc6
- Declaring relationships between - packages + + Declaring relationships between packages - Syntax of relationship fields - + + Syntax of relationship fields

These fields all have a uniform syntax. They are a list of @@ -3321,6 +3217,7 @@ Build-Depends: kernel-headers-2.2.10 [!hurd-i386], package to provide a significant amount of functionality.

+

The Depends field should also be used if the postinst, prerm or @@ -3333,35 +3230,33 @@ Build-Depends: kernel-headers-2.2.10 [!hurd-i386], Recommends -

This declares a strong, but not absolute, dependency. +

+ This declares a strong, but not absolute, dependency.

The Recommends field should list packages that would be found together with this one in all but - unusual installations.

+ unusual installations. +

Suggests -

This is used to declare that one package may be more useful with one or more others. Using this field tells the packaging system and the user that the listed packages are related to this one and can perhaps enhance its usefulness, but that installing this one without them is perfectly reasonable. -

Enhances -

This field is similar to Suggests but works in the opposite direction. It is used to declare that a package can enhance the functionality of another package. -

Pre-Depends @@ -3408,9 +3303,11 @@ Build-Depends: kernel-headers-2.2.10 [!hurd-i386], preinst script depends on the named package. It is best to avoid this situation if possible. +

+

When selecting which level of dependency to use you should consider how important the depended-on package is to the @@ -3423,10 +3320,10 @@ Build-Depends: kernel-headers-2.2.10 [!hurd-i386], Recommendations, as appropriate to the components' relative importance.

+
- - Conflicting binary packages - - Conflicts + + Conflicting binary packages - Conflicts

When one binary package declares a conflict with another @@ -3694,41 +3591,39 @@ Replaces: mail-transport-agent Build-Depends, Build-Conflicts -

The Build-Depends and Build-Conflicts fields must be satisfied when any of the following targets is invoked: build, clean, binary, binary-arch, build-arch, build-indep and binary-indep. -

Build-Depends-Indep, Build-Conflicts-Indep -

The Build-Depends-Indep and Build-Conflicts-Indep fields must be satisfied when any of the following targets is invoked: build, clean, build-indep, binary and binary-indep. -

+
- Configuration file handling - + + Configuration file handling

This chapter has been superseded by .

+
Shared libraries @@ -3833,79 +3728,84 @@ Replaces: mail-transport-agent

- - ldconfig + + ldconfig -

- Any package installing shared libraries in one of the default - library directories of the dynamic linker (which are currently - /usr/lib and /lib) or a directory that is - listed in /etc/ld.so.conf -

+

+ Any package installing shared libraries in one of the default + library directories of the dynamic linker (which are currently + /usr/lib and /lib) or a directory that is + listed in /etc/ld.so.conf These are currently -

/usr/X11R6/lib/Xaw3d

-

/usr/local/lib

-

/usr/lib/libc5-compat

-

/lib/libc5-compat

-

/usr/X11R6/lib

+ /usr/X11R6/lib/Xaw3d + /usr/local/lib + /usr/lib/libc5-compat + /lib/libc5-compat + /usr/X11R6/lib -

- - must use ldconfig to update the shared library - system. -

+ + must use ldconfig to update the shared library + system. +

-

- The package must call ldconfig in the - postinst script if the first argument is - configure; the postinst script may - optionally invoke ldconfig at other times. The - package should call ldconfig in the - postrm script if the first argument is - remove. The maintainer scripts must not invoke - ldconfig under any circumstances other than those - described in this paragraph. -

During install or upgrade, the preinst is called before - the new files are installed, so calling "ldconfig" is - pointless. The preinst of an existing package can also be - called if an upgrade fails. However, this happens during - the critical time when a shared libs may exist on-disk - under a temporary name. Thus, it is dangerous and - forbidden by current policy to call "ldconfig" at this - time. -

-

When a package is installed or upgraded, "postinst - configure" runs after the new files are safely on-disk. - Since it is perfectly safe to invoke ldconfig - unconditionally in a postinst, it is OK for a package to - simply put ldconfig in its postinst without checking the - argument. The postinst can also be called to recover from - a failed upgrade. This happens before any new files are - unpacked, so there is no reason to call "ldconfig" at this - point. -

-

For a package that is being removed, prerm is - called with all the files intact, so calling ldconfig is - useless. The other calls to "prerm" happen in the case of - upgrade at a time when all the files of the old package - are on-disk, so again calling "ldconfig" is pointless. -

-

postrm, on the other hand, is called with the "remove" - argument just after the files are removed, so this is the - proper time to call "ldconfig" to notify the system of the - fact shared libraries from the package are removed. - The postrm can be called at several other times. At the - time of "postrm purge", "postrm abort-install", or "postrm - abort-upgrade", calling "ldconfig" is useless because the - shared lib files are not on-disk. However, when "postrm" - is invoked with arguments "upgrade", "failed-upgrade", or - "disappear", a shared lib may exist on-disk under a - temporary filename. -

- -

-
+

+ The package must call ldconfig in the + postinst script if the first argument is + configure; the postinst script may + optionally invoke ldconfig at other times. The + package should call ldconfig in the + postrm script if the first argument is + remove. The maintainer scripts must not invoke + ldconfig under any circumstances other than those + described in this paragraph. +

+ During install or upgrade, the preinst is called before + the new files are installed, so calling "ldconfig" is + pointless. The preinst of an existing package can also be + called if an upgrade fails. However, this happens during + the critical time when a shared libs may exist on-disk + under a temporary name. Thus, it is dangerous and + forbidden by current policy to call "ldconfig" at this + time. +

+ +

+ When a package is installed or upgraded, "postinst + configure" runs after the new files are safely on-disk. + Since it is perfectly safe to invoke ldconfig + unconditionally in a postinst, it is OK for a package to + simply put ldconfig in its postinst without checking the + argument. The postinst can also be called to recover from + a failed upgrade. This happens before any new files are + unpacked, so there is no reason to call "ldconfig" at this + point. +

+ +

+ For a package that is being removed, prerm is + called with all the files intact, so calling ldconfig is + useless. The other calls to "prerm" happen in the case of + upgrade at a time when all the files of the old package + are on-disk, so again calling "ldconfig" is pointless. +

+ +

+ postrm, on the other hand, is called with the "remove" + argument just after the files are removed, so this is the + proper time to call "ldconfig" to notify the system of the + fact shared libraries from the package are removed. + The postrm can be called at several other times. At the + time of "postrm purge", "postrm abort-install", or "postrm + abort-upgrade", calling "ldconfig" is useless because the + shared lib files are not on-disk. However, when "postrm" + is invoked with arguments "upgrade", "failed-upgrade", or + "disappear", a shared lib may exist on-disk under a + temporary filename. +

+ +

+
@@ -4096,6 +3996,7 @@ Replaces: mail-transport-agent

debian/shlibs.local

+

This lists overrides for this package. Its use is described below (see ). @@ -4104,6 +4005,7 @@ Replaces: mail-transport-agent

/etc/dpkg/shlibs.override

+

This lists global overrides. This list is normally empty. It is maintained by the local system @@ -4113,6 +4015,7 @@ Replaces: mail-transport-agent

DEBIAN/shlibs files in the "build directory"

+

When packages are being built, any debian/shlibs files are copied into the @@ -4154,6 +4057,7 @@ Replaces: mail-transport-agent

/var/lib/dpkg/info/*.shlibs

+

These are the shlibs files corresponding to all of the packages installed on the system, and are @@ -4163,6 +4067,7 @@ Replaces: mail-transport-agent

/etc/dpkg/shlibs.default

+

This file lists any shared libraries whose packages have failed to provide correct shlibs files. @@ -4789,30 +4694,31 @@ rmdir /usr/local/share/emacs 2>/dev/null || true start -

start the service,

+ start the service, stop -

stop the service,

+ stop the service, restart -

stop and restart the service if it's already - running, otherwise start the service

+ stop and restart the service if it's already running, + otherwise start the service reload

cause the configuration of the service to be reloaded without actually stopping and restarting - the service,

+ the service, force-reload -

cause the configuration to be reloaded if the + cause the configuration to be reloaded if the service supports this, otherwise restart the - service.

+ service. The start, stop, restart, and force-reload options should be supported by all scripts in /etc/init.d, the reload - option is optional.

+ option is optional. +

The init.d scripts should ensure that they will @@ -4820,14 +4726,16 @@ rmdir /usr/local/share/emacs 2>/dev/null || true service is already running, or with stop when it isn't, and that they don't kill unfortunately-named user processes. The best way to achieve this is usually to use - start-stop-daemon.

+ start-stop-daemon. +

If a service reloads its configuration automatically (as in the case of cron, for example), the reload option of the init.d script should behave as if the configuration has been reloaded - successfully.

+ successfully. +

The /etc/init.d scripts must be treated as @@ -4904,13 +4812,13 @@ test -f program-executed-later-in-script || exit 0 scripts such as postinst, prerm and postrm.

+

Directly managing the /etc/rc?.d links and directly invoking the /etc/init.d/ initscripts should be done only by packages providing the initscript subsystem (such as sysvinit and file-rc). -

@@ -4922,7 +4830,8 @@ test -f program-executed-later-in-script || exit 0 removal of /etc/rcn.d symbolic links, or their functional equivalent if another method is being used. This may be used by maintainers in their packages' - postinst and postrm scripts.

+ postinst and postrm scripts. +

You must not include any /etc/rcn.d @@ -4963,7 +4872,8 @@ test -f program-executed-later-in-script || exit 0 . Note that if your package changes runlevels or priority, you may have to remove and recreate the links, since otherwise the old links may persist. Refer to the - documentation of update-rc.d

+ documentation of update-rc.d. +

This will use a default sequence number of 20. If it does @@ -4991,15 +4901,15 @@ test -f program-executed-later-in-script || exit 0 stop and otherwise manage services. This program may be used by maintainers in their packages' scripts.

+

The use of invoke-rc.d to invoke the /etc/init.d/* initscripts is strongly recommended -

In the future, the use of invoke-rc.d to invoke initscripts shall be made mandatory. Maintainers are advised to switch to invoke-rc.d as soon as - possible.

+ possible. , instead of calling them directly.

@@ -5010,6 +4920,7 @@ test -f program-executed-later-in-script || exit 0 to start or restart a service out of its intended runlevels.

+

Most packages will simply need to change: /etc/init.d/<package> @@ -5021,13 +4932,16 @@ test -f program-executed-later-in-script || exit 0 else /etc/init.d/package <action> fi -

+ +

+

A package should register its initscript services using update-rc.d before it tries to invoke them using invoke-rc.d. Invocation of unregistered services may fail.

+

For more information about using invoke-rc.d, please consult its manpage @@ -5036,7 +4950,6 @@ test -f program-executed-later-in-script || exit 0 - Boot-time initialization @@ -5046,7 +4959,9 @@ test -f program-executed-later-in-script || exit 0 boot. This has been deprecated in favour of links from /etc/rcS.d to files in /etc/init.d as described in . Packages must not - place files in /etc/rc.boot.

+ place files in /etc/rc.boot. +

+ Example @@ -5183,26 +5098,21 @@ fi

-

Every message should fit in one line (fewer than 80 characters), start with a capital letter and end with a period (.) and line feed ("\n"). -

-

If you want to express that the computer is working on something (that is, performing a specific task, not starting or stopping a program), we use an "ellipsis" (three dots: ...). Note that we don't insert spaces before or after the dots. If the task has been completed we write done. and a line feed. -

-

Design your messages as if the computer is telling you what he is doing (let him be polite :-), but don't mention "him" directly. For example, if you think of @@ -5214,7 +5124,6 @@ I'm starting network daemons: nfsd mountd. Starting network daemons: nfsd mountd. -

@@ -5512,13 +5421,13 @@ Reloading description configuration...done. <-- -

delete the character to the left of the cursor

+ delete the character to the left of the cursor Delete -

delete the character to the right of the cursor

+ delete the character to the right of the cursor Control+H -

emacs: the help prefix

+ emacs: the help prefix
The interpretation of any keyboard events should be @@ -5534,14 +5443,15 @@ Reloading description configuration...done.

-

<-- generates KB_BackSpace - in X.

+ + <-- generates KB_BackSpace in X. + -

Delete generates KB_Delete in - X.

+ + Delete generates KB_Delete in X. + -

X translations are set up to make KB_Backspace generate ASCII DEL, and to make KB_Delete generate ESC [ 3 ~ (this @@ -5550,43 +5460,46 @@ Reloading description configuration...done. using xrdb on all local X displays, not using the application defaults, so that the translation resources used correspond to the - xmodmap settings.

+ xmodmap settings. + -

The Linux console is configured to make <-- generate DEL, and Delete - generate ESC [ 3 ~.

+ generate ESC [ 3 ~. + -

X applications are configured so that < deletes left, and Delete deletes right. Motif - applications already work like this.

+ applications already work like this. + -

Terminals should have stty erase ^? .

+ + Terminals should have stty erase ^? . + -

The xterm terminfo entry should have ESC [ 3 ~ for kdch1, just as for - TERM=linux and TERM=vt220.

+ TERM=linux and TERM=vt220. + -

Emacs is programmed to map KB_Backspace or the stty erase character to delete-backward-char, and KB_Delete or kdch1 to delete-forward-char, and - ^H to help as always.

+ ^H to help as always. + -

Other applications use the stty erase character and kdch1 for the two delete keys, with ASCII DEL being "delete previous character" and kdch1 being "delete character under - cursor".

+ cursor". +

@@ -5599,27 +5512,26 @@ Reloading description configuration...done.

-

Some terminals have a <-- key that cannot be made to produce anything except ^H. On these terminals Emacs help will be unavailable on ^H (assuming that the stty erase character takes precedence in Emacs, and has been set correctly). M-x help or F1 (if - available) can be used instead.

+ available) can be used instead. + -

Some operating systems use ^H for stty erase. However, modern telnet versions and all rlogin versions propagate stty settings, and almost all UNIX versions honour stty erase. Where the stty settings are not propagated correctly, things can be made to work by using - stty manually.

+ stty manually. + -

Some systems (including previous Debian versions) use xmodmap to arrange for both <-- and Delete to generate @@ -5629,16 +5541,17 @@ Reloading description configuration...done. using their resources when things are the other way around. On displays configured like this Delete will not work, but <-- - will.

+ will. + -

Some operating systems have different kdch1 settings in their terminfo database for xterm and others. On these systems the Delete key will not work correctly when you log in from a system conforming to our policy, but - <-- will.

+ <-- will. +

@@ -5651,7 +5564,8 @@ Reloading description configuration...done. reasonable defaults. (That's because these environment variables would have to be set in a system-wide configuration file like /etc/profile, which is not - supported by all shells.)

+ supported by all shells.) +

If a program usually depends on environment variables for its @@ -5661,7 +5575,8 @@ Reloading description configuration...done. (e.g., if the source code of a non-free program is not available), the program must be replaced by a small "wrapper" shell script which sets the environment variables - if they are not already defined, and calls the original program.

+ if they are not already defined, and calls the original program. +

Here is an example of a wrapper script for this purpose: @@ -5678,10 +5593,13 @@ exec /usr/lib/foo/foo "$@" Furthermore, as /etc/profile is a configuration file of the base-files package, other packages must not put any environment variables or other commands into that - file.

+ file. +

+
+ Files @@ -5725,7 +5643,8 @@ install -s # (or use strip on the files in debian/tmp) install, or by calling strip on the binaries after they have been copied into debian/tmp but before the tree is made into a - package.

+ package. +

Although binaries in the build tree should be compiled with @@ -5737,11 +5656,11 @@ install -s # (or use strip on the files in debian/tmp) contain several flags to change how a package is compiled and built.

+

noopt -

The presence of this string means that the package should be complied with a minimum of optimization. For C programs, it is best to add -O0 @@ -5749,18 +5668,16 @@ install -s # (or use strip on the files in debian/tmp) default). Some programs might fail to build or run at this level of optimization; it may be necessary to use -O1, for example. -

nostrip -

This string means that the debugging symbols should not be stripped from the binary during installation, so that debugging information may be included in the package. -

+

The following makefile snippet is an example of how one may implement the build options; you will probably have to @@ -5810,7 +5727,6 @@ endif will need to be compiled twice.

-

You must specify the gcc option -D_REENTRANT when building a library (either static or shared) to make @@ -5828,13 +5744,11 @@ strip --strip-unneeded your-lib function perfectly well when stripped, since the symbols for dynamic linking are in a separate part of the ELF object file. -

You might also want to use the options --remove-section=.comment and --remove-section=.note on both shared libraries and executables, and --strip-debug on static libraries. -

@@ -5853,11 +5767,9 @@ strip --strip-unneeded your-lib rules that govern ordinary shared libraries, except that they must not be installed executable and should be stripped. -

A common example are the so-called "plug-ins", internal shared objects that are dynamically loaded by programs using . -

@@ -5885,7 +5797,6 @@ strip --strip-unneeded your-lib a library (such as library dependency information for static linking). Also, they're essential for programs using libltdl. -

Although libtool is fully capable of linking against shared libraries which don't have .la files, as it is a mere shell script it can @@ -5898,7 +5809,6 @@ strip --strip-unneeded your-lib .la files also store information about inter-library dependencies which cannot necessarily be derived after the .la file is deleted. -

@@ -5937,24 +5847,26 @@ strip --strip-unneeded your-lib All command scripts, including the package maintainer scripts inside the package and used by dpkg, should have a #! line naming the shell to be used - to interpret them.

+ to interpret them. +

In the case of Perl scripts this should be - #!/usr/bin/perl.

+ #!/usr/bin/perl. +

Shell scripts (sh and bash) should almost certainly start with set -e so that errors are detected. Every script should use set -e or check the exit status of every - command.

+ command. +

The standard shell interpreter /bin/sh can be a symbolic link to any POSIX compatible shell, if echo -n does not generate a newline. -

Debian policy specifies POSIX behavior for /bin/sh, but echo -n has widespread use in the Linux community (in particular including this @@ -5963,7 +5875,6 @@ strip --strip-unneeded your-lib required under POSIX, hence this explicit addition. Also, rumour has it that this shall be mandated under the LSB anyway. -

Thus, shell scripts specifying /bin/sh as interpreter should only use POSIX features. If a script @@ -5996,12 +5907,10 @@ strip --strip-unneeded your-lib Harmful, one of the comp.unix.* FAQs, which can be found at . -

It can also be found on or on the ftp site ftp.cpan.org as /pub/perl/CPAN/doc/FMTEYEWTK/versus/csh.whynot. -

If an upstream package comes with csh scripts then you must make sure that they start with @@ -6013,12 +5922,15 @@ strip --strip-unneeded your-lib Any scripts which create files in world-writeable directories (e.g., in /tmp) must use a mechanism which will fail if a file with the same name - already exists.

+ already exists. +

The Debian base system provides the tempfile and mktemp utilities for use by scripts for - this purpose.

+ this purpose. +

+ @@ -6029,12 +5941,14 @@ strip --strip-unneeded your-lib should be relative, and symbolic links pointing from one top-level directory into another should be absolute. (A top-level directory is a sub-directory of the root - directory /.)

+ directory /.) +

In addition, symbolic links should be specified as short as possible, i.e., link targets like foo/../bar are - deprecated.

+ deprecated. +

Note that when creating a relative link using @@ -6045,7 +5959,8 @@ strip --strip-unneeded your-lib Simply include the string that should appear as the target of the link (this will be a pathname relative to the directory in which the link resides) as the first argument - to ln.

+ to ln. +

For example, in your Makefile or @@ -6055,7 +5970,8 @@ ln -fs gcc $(prefix)/bin/cc ln -fs gcc debian/tmp/usr/bin/cc ln -fs ../sbin/sendmail $(prefix)/bin/runq ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq -

+ +

A symbolic link pointing to a compressed file should always @@ -6071,41 +5987,43 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq

Packages must not include device files in the package file - tree.

+ tree. +

If a package needs any special device files that are not included in the base system, it must call MAKEDEV in the postinst script, after notifying the user -

This notification could be done via a (low-priority) debconf message, or an echo (printf) statement. -

- - .

+ . +

Packages must not remove any device files in the postrm or any other script. This is left to the - system administrator.

+ system administrator. +

Debian uses the serial devices /dev/ttyS*. Programs using the old /dev/cu* devices should be changed to use - /dev/ttyS*.

+ /dev/ttyS*. +

Configuration files + Definitions +

configuration file -

A file that affects the operation of a program, or provides site- or host-specific information, or otherwise customizes the behavior of a program. @@ -6113,16 +6031,13 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq modified by the system administrator (if needed or desired) to conform to local policy or to provide more useful site-specific behavior. -

conffile -

A file listed in a package's conffiles file, and is treated specially by dpkg (see ). -

@@ -6144,38 +6059,38 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq Location +

Any configuration files created or used by your package must reside in /etc. If there are several, consider creating a subdirectory of /etc - named after your package.

+ named after your package. +

If your package creates or uses configuration files outside of /etc, and it is not feasible to modify the package to use /etc directly, put the files in /etc and create symbolic links to those files - from the location that the package requires.

+ from the location that the package requires. +

Behavior +

Configuration file handling must conform to the following behavior: -

local changes must be preserved during a package upgrade, and -

-

configuration files must be preserved when the package is removed, and only deleted when the package is purged. -

@@ -6196,18 +6111,16 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq In order to ensure that local changes are preserved correctly, no package may contain or make hard links to conffiles. -

Rationale: There are two problems with hard links. The first is that some editors break the link while editing one of the files, so that the two files may unwittingly become unlinked and different. The second is that dpkg might break the hard link while upgrading conffiles. -

-

+

-

+

The other way to do it is via the maintainer scripts. In this case, the configuration file must not be listed as a conffile and must not be part of the package @@ -6263,6 +6176,7 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq Sharing configuration files +

Packages which specify the same file as a conffile must be tagged as conflicting @@ -6289,7 +6203,8 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq depend on the owning package if they require the configuration file to operate. If the other package will use the configuration file if present, but is capable of - operating without it, no dependency need be declared.

+ operating without it, no dependency need be declared. +

If it is desirable for two or more related packages to @@ -6298,21 +6213,16 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq file, then the following should be done: -

One of the related packages (the "owning" package) will manage the configuration file with maintainer scripts as described in the previous section. -

-

The owning package should also provide a program that the other packages may use to modify the configuration file. -

-

The related packages must use the provided program to make any desired modifications to the configuration file. They should either depend on @@ -6322,7 +6232,6 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq is not. (This is in addition to the fact that the configuration file may not even be present in the latter scenario.) -

@@ -6801,7 +6710,6 @@ done

-

Cgi-bin executable files are installed in the directory @@ -6811,10 +6719,10 @@ done http://localhost/cgi-bin/cgi-bin-name -

-

Access to HTML documents

+ +

Access to HTML documents

HTML documents for a package are stored in @@ -6824,7 +6732,8 @@ http://localhost/cgi-bin/cgi-bin-name http://localhost/doc/package/filename

-

+ +

The web server should restrict access to the document tree so that only clients on the same host can read the documents. If the web server does not support such @@ -6833,7 +6742,8 @@ http://localhost/doc/package/filename

-

Web Document Root

+ +

Web Document Root

Web Applications should try to avoid storing files in @@ -6851,8 +6761,9 @@ http://localhost/doc/package/filename

-

- + +

+ Mail transport, delivery and user agents @@ -6990,18 +6901,24 @@ name ["syshostname"]: /etc/news/organization -

A string which should appear as the + + A string which should appear as the organization header for all messages posted - by NNTP clients on the machine

+ by NNTP clients on the machine + /etc/news/server -

Contains the FQDN of the upstream NNTP + + Contains the FQDN of the upstream NNTP server, or localhost if the local machine is - an NNTP server.

+ an NNTP server. +
Other global files may be added as required for cross-package news - configuration.

+ configuration. +

+ @@ -7032,7 +6949,6 @@ name ["syshostname"]: indirectly, communicates with real input and display hardware should declare in their control data that they provide the virtual package xserver. -

This implements current practice, and provides an actual policy for usage of the xserver virtual package which appears in the virtual packages @@ -7041,7 +6957,6 @@ name ["syshostname"]: another subsystem (e.g., GGI) should provide xserver. Things like Xvfb, Xnest, and Xprt should not. -

@@ -7062,34 +6977,32 @@ name ["syshostname"]:

To be an x-terminal-emulator, a program must: -

+ Be able to emulate a DEC VT100 terminal, or a compatible terminal. -

+ -

+ Support the command-line option -e command, which creates a new terminal window -

"New terminal window" does not necessarily mean a new top-level X window directly parented by the window manager; it could, if the terminal emulator application were so coded, be a new "view" in a multiple-document interface (MDI). -

and runs the specified command, interpreting the entirity of the rest of the command line as a command to pass straight to exec, in the manner that xterm does. -

+ -

+ Support the command-line option -T title, which creates a new terminal window with the window title title. -

+

@@ -7105,10 +7018,11 @@ name ["syshostname"]: /usr/bin/x-window-manager, with a priority calculated as follows: -

Start with a priority of 20.

+ + Start with a priority of 20. + -

If the window manager supports the Debian menu system, add 20 points if this support is available in the package's default configuration (i.e., no @@ -7116,25 +7030,21 @@ name ["syshostname"]: have to be edited to activate the feature); if configuration files must be modified, add only 10 points. -

+ -

If the window manager complies with , written by the , add 40 points. -

-

If the window manager permits the X session to be restarted using a different window manager (without killing the X server) in its default configuration, add 10 points; otherwise add none. -

@@ -7146,7 +7056,6 @@ name ["syshostname"]:

Packages that provide fonts for the X Window System -

For the purposes of Debian Policy, a "font for the X Window System" is one which is accessed via X protocol requests. Fonts for the Linux console, for PostScript @@ -7154,7 +7063,6 @@ name ["syshostname"]: definition. Any tool which makes such fonts available to the X Window System, however, must abide by this font policy. -

must do a number of things to ensure that they are both available without modification of the X or font server @@ -7163,7 +7071,6 @@ name ["syshostname"]: themselves. -

Fonts of any type supported by the X Window System must be in a separate binary package from any executables, libraries, or documentation (except @@ -7175,110 +7082,95 @@ name ["syshostname"]: provide an enhancement, a Suggests relationship may be used. Packages must not Depend on font packages. -

This is because the X server may retrieve fonts from the local filesystem or over the network from an X font server; the Debian package system is empowered to deal only with the local filesystem. -

-

-

BDF fonts must be converted to PCF fonts with the bdftopcf utility (available in the xutils package, gzipped, and placed in a directory that corresponds to their resolution: -

+ 100 dpi fonts must be placed in /usr/X11R6/lib/X11/fonts/100dpi/. -

+ -

+ 75 dpi fonts must be placed in /usr/X11R6/lib/X11/fonts/75dpi/. -

+ -

+ Character-cell fonts, cursor fonts, and other low-resolution fonts must be placed in /usr/X11R6/lib/X11/fonts/misc/. -

+ -

-

+ Speedo fonts must be placed in /usr/X11R6/lib/X11/fonts/Speedo/. -

+ -

+ Type 1 fonts must be placed in /usr/X11R6/lib/X11/fonts/Type1/. If font metric files are available, they must be placed here as well. -

+ -

Subdirectories of /usr/X11R6/lib/X11/fonts/ other than those listed above must be neither created nor used. (The PEX, CID, and cyrillic directories are excepted for historical reasons, but installation of files into these directories remains discouraged.) -

-

Font packages may, instead of placing files directly in the X font directories listed above, provide symbolic links in that font directory pointing to the files' actual location in the filesystem. Such a location must comply with the FHS. -

-

Font packages should not contain both 75dpi and 100dpi versions of a font. If both are available, they should be provided in separate binary packages with -75dpi or -100dpi appended to the names of the packages containing the corresponding fonts. -

-

Fonts destined for the misc subdirectory should not be included in the same package as 75dpi or 100dpi fonts; instead, they should be provided in a separate package with -misc appended to its name. -

-

Font packages must not provide the files fonts.dir, fonts.alias, or fonts.scale in a font directory: -

+ fonts.dir files must not be provided at all. -

+ -

fonts.alias and fonts.scale files, if needed, should be provided in the directory @@ -7293,22 +7185,17 @@ name ["syshostname"]: extension is either scale or alias, whichever corresponds to the file contents. -

-

-

Font packages must declare a dependency on xutils (>> 4.0.3) in their control data. -

-

Font packages that provide one or more fonts.scale files as described above must invoke update-fonts-scale on each @@ -7319,11 +7206,9 @@ name ["syshostname"]: postinst (for all arguments) and postrm (for all arguments except upgrade) scripts. -

-

Font packages that provide one or more fonts.alias files as described above must invoke update-fonts-alias on each @@ -7332,33 +7217,26 @@ name ["syshostname"]: postinst (for all arguments) and postrm (for all arguments except upgrade) scripts. -

-

Font packages must invoke update-fonts-dir on each directory into which they installed fonts. This invocation must occur in both the postinst (for all arguments) and postrm (for all arguments except upgrade) scripts. -

-

Font packages must not provide alias names for the fonts they include which collide with alias names already in use by fonts already packaged. -

-

Font packages must not provide fonts with the same XLFD registry name as another font already packaged. -

@@ -7385,13 +7263,11 @@ name ["syshostname"]: /etc/X11/Xresources/ directory, which must registered as a conffile or handled as a configuration file. -

Note that this mechanism is not the same as using app-defaults; app-defaults are tied to the client binary on the local filesystem, whereas X resources are stored in the X server and affect all connecting clients. -

Important: packages that install files into the /etc/X11/Xresources/ directory must conflict with @@ -7415,7 +7291,6 @@ name ["syshostname"]: imake program it provides, in which case the packages may transition out of the /usr/X11R6/ directory at the maintainer's discretion. -

Imake-using programs are exempt because, as long as they are written correctly, the pathnames they use to locate resources and install themselves @@ -7426,8 +7301,10 @@ name ["syshostname"]: that is required for these programs is a recompile against the corresponding X Window System library development packages. -

+

+ +

Programs that use GNU autoconf and automake are usually easily configured at compile time to use /usr/ instead of @@ -7438,7 +7315,11 @@ name ["syshostname"]: to these programs' tight integration with the mechanisms of the X Window System. Application-level programs should use the /etc/ directory unless otherwise mandated - by policy. The installation of files into subdirectories + by policy. +

+ +

+ The installation of files into subdirectories of /usr/X11R6/include/X11/ and /usr/X11R6/lib/X11/ is permitted but discouraged; package maintainers should determine if subdirectories of @@ -7446,8 +7327,11 @@ name ["syshostname"]: instead. (The use of symbolic links from the X11R6 directories to other FHS-compliant locations is encouraged if the program is not easily - configured to look elsewhere for its files.) Packages - must not provide or install files into the directories + configured to look elsewhere for its files.) +

+ +

+ Packages must not provide or install files into the directories /usr/bin/X11/, /usr/include/X11/ or /usr/lib/X11/. Files within a package should, however, make reference to these directories, rather than @@ -7465,10 +7349,8 @@ name ["syshostname"]:

Programs that require the non-DFSG-compliant OSF/Motif or OpenMotif libraries -

OSF/Motif and OpenMotif are collectively referred to as "Motif" in this policy document. -

should be compiled against and tested with LessTif (a free re-implementation of Motif) instead. If the maintainer @@ -7479,7 +7361,10 @@ name ["syshostname"]: statically against Motif and with -smotif appended to the package name, and one linked dynamically against Motif and with -dmotif appended to the - package name. Both Motif-linked versions are dependent + package name. +

+

+ Both Motif-linked versions are dependent upon non-DFSG-compliant software and thus cannot be uploaded to the main distribution; if the software is itself DFSG-compliant it may be uploaded to @@ -10385,11 +10270,12 @@ install-info --quiet --remove /usr/share/info/foobar.info distribution directories, relative to the root of the Debian hierarchy. If the package has been split into several parts the parts are all listed in order, separated - by spaces.

+ by spaces. +

- Size and MD5sum - + + Size and MD5sum

These fields in Packages files give the size (in @@ -10397,11 +10283,12 @@ install-info --quiet --remove /usr/share/info/foobar.info file(s) which make(s) up a binary package in the distribution. If the package is split into several parts the values for the parts are listed in order, separated by - spaces.

+ spaces. +

- Status - + + Status

This field in dpkg's status file records @@ -10409,66 +10296,68 @@ install-info --quiet --remove /usr/share/info/foobar.info left alone, whether it is broken (requiring reinstallation) or not and what its current state on the system is. Each of these pieces of information is a - single word.

+ single word. +

- Config-Version - + + Config-Version

If a package is not installed or not configured, this field in dpkg's status file records the last version of the package which was successfully - configured.

+ configured. +

- Conffiles - + + Conffiles

This field in dpkg's status file contains information about the automatically-managed configuration files held by a package. This field should not - appear anywhere in a package!

+ appear anywhere in a package! +

- Obsolete fields - + + Obsolete fields

These are still recognised by dpkg but should not appear anywhere any more. + Revision Package-Revision Package_Revision -

The Debian revision part of the package version was at one point in a separate control file field. This - field went through several names.

+ field went through several names. Recommended -

Old name for Recommends

-
+ Old name for Recommends. Optional -

Old name for Suggests.

-
+ Old name for Suggests. + Class -

Old name for Priority.

-
+ Old name for Priority. +

+ - Configuration file handling - (from old Packaging Manual) - + + Configuration file handling (from old Packaging Manual)

dpkg can do a certain amount of automatic