Chapter 3. Binary packages
Since these packages cannot be easily removed (one has to specify an extra force option to
to do so), this flag must not be used unless absolutely necessary. A shared library package
must not be tagged
; dependencies will prevent its premature removal, and we
need to be able to remove it when it has been superseded.
Since dpkg will not prevent upgrading of other packages while an
package is in an
unconfigured state, all
packages must supply all of their core functionality even
when unconfigured. If the package cannot satisfy this requirement it must not be tagged as
essential, and any packages depending on this package must instead have explicit dependency
fields as appropriate.
You must not tag any packages
before this has been discussed on the
mailing list and a consensus about doing that has been reached.
The Debian install process allows the user to choose from a number of common tasks which a
Debian system can be used to perform. Selecting a task with
causes a set of packages
that are useful in performing that task to be installed.
This set of packages is all available packages which have the name of the selected task in the
field of their control file. The format of this field is a list of tasks, separated by commas.
You should not tag any packages as belonging to a task before this has been discussed on the
debian devel mailing list and a consensus about doing that has been reached.
For third parties (and historical reasons), tasksel also supports constructing tasks based on
task packages. These are packages whose names begin with task . Task packages should not be
included in the Debian archive.
3.10 Maintainer Scripts
The package installation scripts should avoid producing output which is unnecessary for the
user to see and should rely on
to stave off boredom on the part of a user installing many
packages. This means, amongst other things, using the
Errors which occur during the execution of an installation script must be checked and the
installation must not continue after an error.
Note that in general `Scripts' on page
applies to package maintainer scripts, too.
You should not use
on a file belonging to another package without consulting
the maintainer of that package first.
All packages which supply an instance of a common command name (or, in general, file
name) should generally use
, so that they may be installed together.
is not used, then each package must use