From 08b1c84ca37b403db5ef339fea1b3552b52f3503 Mon Sep 17 00:00:00 2001
From: Manoj Srivastava Philip Hands Julian Gilbey Julian Gilbey Manoj Srivastava
A copy of the GNU General Public License is available as
- /usr/share/common-licences/GPL in the Debian GNU/Linux
+ /usr/share/common-licenses/GPL in the Debian GNU/Linux
distribution or on the World Wide Web at
This manual describes the policy requirements for the Debian
GNU/Linux distribution. This includes the structure and
- contents of the Debian archive, several design issues of the
+ contents of the Debian archive and several design issues of the
operating system, as well as technical requirements that
each package must satisfy to be included in the
distribution.
@@ -133,12 +133,13 @@
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
- should not be changed without peer review. Package
- maintainers can then rely on this interfaces not
- changing, and the package management software
- authors need to ensure compatibility with these
- interface definitions. (control file and and
- changelog file formats are one example)
+ therefore should not be changed without peer
+ review. Package maintainers can then rely on this
+ interfaces not changing, and the package
+ management software authors need to ensure
+ compatibility with these interface
+ definitions. (Control file and and changelog file
+ formats are examples.)
- Please note that the footnotes present in this manual are + The footnotes present in this manual are merely informative, and are not part of Debian policy itself.
@@ -181,47 +182,56 @@
These classifications are roughly equivalent to the bug
- severities important (for must or
- required directive violations), normal
+ severities serious (for must or
+ required directive violations), minor,
+ normal or important
(for should or recommended directive
violations) and wishlist (for optional
items). Also see RFC 2119. Compare RFC 2119. Note, however, that these words are
+ used in a different way in this document.
Much of the information presented in this manual will be useful even when building a package which is to be - distributed in some other way or is for local use. + distributed in some other way or is intended for local use + only.
The current version of this document is always accessible from the
- Debian FTP server
In addition, this manual is distributed via the Debian package debian-policy.
+ ++ The debian-policy package also includes the file + upgrading-checklist.txt which indicates policy + changes between versions of this document. +
As the Debian GNU/Linux system is continuously evolving this - manual is changed from time to time. + manual does so too.
- While the authors of this document tried hard not to include
- any typos or other errors these still occur. If you discover
- an error in this manual or if you want to tell us any
- comments, suggestions, or critics please send an email to
+ While the authors of this document have tried hard to avoid
+ typos and other errors, these do still occur. If you discover
+ an error in this manual or if you want to give any
+ comments, suggestions, or criticisms please send an email to
the Debian Policy List,
The Debian GNU/Linux system is maintained and distributed as a - collection of packages. Since there are so many of them (over - 5000) they are split into sections and priorities to - simplify handling of them. + collection of packages. Since there are so many of + them (currently well over 6000), they are split into + 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 - free in our sense (see Debian Free Software + free in our sense (see the Debian Free Software Guidelines, below), or may be imported/exported without restrictions. Thus, the archive is split into the sections main, non-free, contrib, non-US/main, non-US/non-free, and - non-US/contrib.
+ non-US/contrib. The sections are explained in detail + below. +- The main and the non-US/main sections form - the Debian GNU/Linux distribution. + The main and the non-US/main sections + together form the Debian GNU/Linux distribution.
- Packages in the other sections are not considered as part of - the Debian distribution, though we support their use, and we + Packages in the other sections are not considered to be part + of the Debian distribution, although we support their use and provide infrastructure for them (such as our bug-tracking system and mailing lists). This Debian Policy Manual applies to these packages as well.
@@ -261,18 +274,19 @@
- The aims of this policy are:
+ The aims of this section are:
We want to make as much software available as we
- can. to allow us to make as much software available as we
+ can, We want to encourage everyone to write free software. to allow us to encourage everyone to write free
+ software, and We want 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.
- The Debian Free Software Guidelines (DFSG) is our
- definition of `free' software.
+ The Debian Free Software Guidelines (DFSG) form our
+ definition of `free software'. These are:
- Every package in "main" and "non-US/main" must comply with
- the DFSG (Debian Free Software Guidelines).
- In addition, the packages in "main"
+ 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 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
- Similarly, the packages in "non-US/main"
+ 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 require a package outside of main
+ or non-US/main for compilation or
+ execution,
- Every package in "contrib" and "non-US/contrib" must
- comply with the DFSG.
+ Every package in contrib and
+ non-US/contrib must comply with the DFSG.
+
+ In addition, the packages in contrib and
+ non-US/contrib
+
+ must not be so buggy that we refuse to support them,
+ and
+
+ must meet all policy requirements presented in this
+ manual.
+
+ Furthermore, packages in contrib must not require
+ a package in a non-US section for compilation or
+ execution.
- Examples of packages which would be included in "contrib"
- or "non-US/contrib" are
+ Examples of packages which would be included in
+ 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,
+ 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,
+ non-free programs.
+ 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.
+
- 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.
+
+ 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.
+
- Some programs with cryptographic program code need to be stored
- on the "non-US" server because of export restrictions of the
- U.S. Such programs must be distributed in the appropriate
- non-US section, either non-US/main, non-US/contrib or
- non-US/non-free.
+
+
+
This applies only to packages which contain cryptographic - code. A package containing a program with an interface to a - cryptographic program or a program that's dynamically linked - against a cryptographic library should not be distributed - via the non-us server if it is capable of running without the - cryptography library or program. + code. A package containing a program with an interface to + a cryptographic program or a program that's dynamically + linked against a cryptographic library should not be + distributed via the non-US server if it is + capable of running without the cryptographic library or + program.
- Every package must be accompanied by a verbatim copy of its - copyright and distribution license in the file - /usr/share/doc/<package-name>/copyright (see - for details).
+ Every package must be accompanied by a verbatim copy of + its copyright and distribution license in the file + /usr/share/doc/We reserve the right to restrict files from being included anywhere in our archives if @@ -538,91 +614,130 @@
- Programs whose authors encourage the user to make donations - are fine for the main distribution, provided that the - authors do not claim that not donating is immoral, - unethical, illegal or something similar; otherwise they must - go in non-free.
+ Programs whose authors encourage the user to make + donations are fine for the main distribution, provided + that the authors do not claim that not donating is + immoral, unethical, illegal or something similar; in such + a case they must go in non-free.Packages whose copyright permission notices (or patent - problems) do not allow redistribution even of only binaries, - and where no special permission has been obtained, must not be - placed on the Debian FTP site and its mirrors at all.
+ problems) do not even allow redistribution of binaries + only, and where no special permission has been obtained, + must not be placed on the Debian FTP site and its mirrors + at all.- Note, that under international copyright law (this applies - in the United States, too) no distribution or - modification of a work is allowed without an explicit notice - saying so. Therefore a program without a copyright notice - is copyrighted and you may not do anything to it - without risking being sued! Likewise if a program has a - copyright notice but no statement saying what is permitted - then nothing is permitted.
+ Note that under international copyright law (this applies + in the United States, too), no distribution or + modification of a work is allowed without an explicit + notice saying so. Therefore a program without a copyright + notice is copyrighted and you may not do anything + to it without risking being sued! Likewise if a program + has a copyright notice but no statement saying what is + permitted then nothing is permitted.Many authors are unaware of the problems that restrictive - copyrights (or lack of copyright notices) can cause for the - users of their supposedly-free software. It is often + copyrights (or lack of copyright notices) can cause for + the users of their supposedly-free software. It is often worthwhile contacting such authors diplomatically to ask - them to modify their license terms. However, this is a + them to modify their license terms. However, this can be a politically difficult thing to do and you should ask for - advice on debian-legal first.
+ advice on the debian-legal mailing list first, as + explained below. +
- When in doubt, send mail to
+ When in doubt about a copyright, send mail to
- The packages in all the sections (main, - contrib, non-US/main, non-free, - non-US/contrib, and non-US/non-free) are - grouped further into subsections to simplify - handling.
+ The packages in the sections main, + contrib and non-free are grouped further + into subsections to simplify handling. +- The section for each package should be specified in the - package's control record. However, the maintainer of - the Debian archive may override this selection to assure the - consistency of the Debian distribution.
+ The section and subsection for each package should be + specified in the package's Section control + record. However, the maintainer of the Debian archive + may override this selection to ensure the consistency of + the Debian distribution. The Section field + should be of the form: +
+
+
+ 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. +
+- Please check the current Debian distribution to see which - sections are available.
+ The Debian archive maintainers provide the authoritative + list of subsections. At present, they are: + admin, base, comm, + contrib, devel, doc, + editors, electronics, games, + graphics, hamradio, + interpreters, libs, mail, + math, misc, net, news, + non-US, non-free, oldlibs, + otherosfs, science, shells, + sound, tex, text, + utils, web, x11. +- Each package should have a priority value, - which is included in the package's control - record. This information is used in the Debian package - management tool to separate high-priority packages from - less-important packages.
+ Each package should have a priority value, which is + included in the package's control record. This + information is used by the Debian package management tools + to separate high-priority packages from less-important + packages.
- The following priority levels are supported by the
- Debian package management system,
- required packages are necessary for the
- proper functioning of the system. You must not remove
- these packages or your system may become totally
- broken and you may not even be able to use
-
+ This is an important criterion because we are + trying to produce, amongst other things, a free + Unix. +
+- (In a sense everything is optional that isn't - required, but that's not what is meant here.) This is + (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 - install if you didn't know what it was or don't have + install if you didn't know what it was and don't have specialized requirements. This is a much larger system - and includes the X Window System, a full TeX distribution, - and many applications. Note that optional packages should - not conflict with each other. + and includes the X Window System, a full TeX + distribution, and many applications. Note that + optional packages should not conflict with each other.
Packages must not depend on packages with lower priority values (excluding build-time dependencies). In order to - ensure this, the priorities of one or more packages must - be adjusted. + ensure this, the priorities of one or more packages may need + to be adjusted.