2.5. Priorities

Each package must have a priority value, which is set in the metadata for the Debian archive and is also included in the package’s control files (see Priority). This information is used to control which packages are included in standard or minimal Debian installations.

Most Debian packages will have a priority of optional. Priority levels other than optional are only used for packages that should be included by default in a standard installation of Debian.

The priority of a package is determined solely by the functionality it provides directly to the user. The priority of a package should not be increased merely because another higher-priority package depends on it; instead, the tools used to construct Debian installations will correctly handle package dependencies. In particular, this means that C-like libraries will almost never have a priority above optional, since they do not provide functionality directly to users. However, as an exception, the maintainers of Debian installers may request an increase of the priority of a package to resolve installation issues and ensure that the correct set of packages is included in a standard or minimal install.

The following priority levels are recognized by the Debian package management tools.

required

Packages which are necessary for the proper functioning of the system (usually, this means that dpkg functionality depends on these packages). Removing a required package may cause your system to become totally broken and you may not even be able to use dpkg to put things back, so only do so if you know what you are doing.

Systems with only the required packages installed have at least enough functionality for the sysadmin to boot the system 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. 6 Other packages without which the system will not run well or be usable must also have priority important. This does 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.

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.

No two packages that both have a priority of standard or higher may conflict with each other.

optional

This is the default priority for the majority of the archive. Unless a package should be installed by default on standard Debian systems, it should have a priority of optional. Packages with a priority of optional may conflict with each other.

extra

This priority is deprecated. Use the optional priority instead. This priority should be treated as equivalent to optional.

The extra priority was previously used for packages that conflicted with other packages and packages that were only likely to be useful to people with specialized requirements. However, this distinction was somewhat arbitrary, not consistently followed, and not useful enough to warrant the maintenance effort.

1

The Debian archive software uses the term “component” internally and in the Release file format to refer to the division of an archive. The Debian Social Contract simply refers to “areas.” This document uses terminology similar to the Social Contract.

2

See What Does Free Mean? for more about what we mean by free software.

3

Debian’s FTP Masters publish a REJECT-FAQ which details the project’s current working interpretation of the DFSG.

4

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.

5

Licenses that are not thought to require the copying of all copyright notices into Debian’s copyright file include Apache-2.0 and the Boost Software License, version 1.0. Final determination as to whether a package’s copyright file is sufficient lies with the FTP team.

To help find copyright notices you need to copy, you might try grep --color=always -Eir '(copyright|©)' * | less -R

6

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