X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=6e7c69ec5672f3bf893841cc6904aa93c18df8cd;hb=2383cf44f168a0c6f8dfd4bf5c919f8893ea253e;hp=8100da082bd123ab85cf97a6788b5cd656b99cb4;hpb=25fa50161bf210a8183460238c8d0250f06404d8;p=debian%2Fdebian-policy.git diff --git a/policy.sgml b/policy.sgml index 8100da0..6e7c69e 100644 --- a/policy.sgml +++ b/policy.sgml @@ -279,6 +279,14 @@ .

+ +

+ Finally, a specification for + machine-readable copyright files is maintained as part of + the debian-policy package using the same + procedure as the other policy documents. Use of this format is + optional. +

@@ -1943,7 +1951,7 @@

- A package may also provide both of the targets + A package may also provide one or both of the targets build-arch and build-indep. The build-arch target, if provided, should perform all the configuration and compilation required for @@ -1956,9 +1964,13 @@ architecture-independent binary packages (those packages for which the body of the Architecture field in debian/control is all). - The build target should depend on those of the - targets build-arch and build-indep that - are provided in the rules file. +

+ +

+ If build-arch or build-indep targets are + provided in the rules file, the build target + should either depend on those targets or take the same + actions as invoking those targets would perform. The intent of this split is so that binary-only builds need not install the dependencies required for the build-indep target. However, this is not @@ -2491,18 +2503,21 @@ endif

- Each paragraph consists of a series of data fields; each - field consists of the field name, followed by a colon and - then the data/value associated with that field. The field - name is composed of printable ASCII characters (i.e., - characters that have values between 33 and 126, inclusive) - except colon and must not with a begin with #. The - field ends at the end of the line or at the end of the - last continuation line (see below). Horizontal whitespace - (spaces and tabs) may occur immediately before or after the - value and is ignored there; it is conventional to put a - single space after the colon. For example, a field might - be: + Each paragraph consists of a series of data fields. Each field + consists of the field name followed by a colon and then the + data/value associated with that field. The field name is + composed of US-ASCII characters excluding control characters, + space, and colon (i.e., characters in the ranges 33-57 and + 59-126, inclusive). Field names must not begin with the comment + character, #. +

+ +

+ The field ends at the end of the line or at the end of the last + continuation line (see below). Horizontal whitespace (spaces + and tabs) may occur immediately before or after the value and is + ignored there; it is conventional to put a single space after + the colon. For example, a field might be: Package: libc6 @@ -2616,6 +2631,7 @@ Package: libc6 Build-Depends et al Standards-Version (recommended) Homepage + Vcs-Browser, Vcs-Git, et al.

@@ -2631,6 +2647,7 @@ Package: libc6 Depends et al Description (mandatory) Homepage + Built-Using

@@ -2686,6 +2703,7 @@ Package: libc6 Maintainer (mandatory) Description (mandatory) Homepage + Built-Using

@@ -2696,7 +2714,7 @@ Package: libc6

This file consists of a single paragraph, possibly surrounded by a PGP signature. The fields of that paragraph are listed below. - Their syntax is described above, in . + Their syntax is described above, in . Format (mandatory) @@ -2708,6 +2726,7 @@ Package: libc6 Uploaders DM-Upload-Allowed Homepage + Vcs-Browser, Vcs-Git, et al. Standards-Version (recommended) Build-Depends et al Checksums-Sha1 @@ -3710,16 +3729,65 @@ Checksums-Sha256: DM-Upload-Allowed

- The most recent version of a package uploaded to unstable or - experimental must include the field DM-Upload-Allowed: - yes in the source section of its source control file for - the Debian archive to accept uploads signed with a key in the - Debian Maintainer keyring. See the General + Indicates that Debian Maintainers may upload this package to + the Debian archive. The only valid value is yes. If + the field DM-Upload-Allowed: yes is present in the + source section of the source control file of the most recent + version of a package in unstable or experimental, the Debian + archive will accept uploads of this package signed with a key + in the Debian Maintainer keyring. See the General Resolution for more details.

+ + + Version Control System (VCS) fields + +

+ Debian source packages are increasingly developed using VCSs. The + purpose of the following fields is to indicate a publicly accessible + repository where the Debian source package is developed. + + + Vcs-Browser + +

+ URL of a web interface for browsing the repository. +

+ + + + Vcs-Arch, Vcs-Bzr (Bazaar), Vcs-Cvs, + Vcs-Darcs, Vcs-Git, Vcs-Hg + (Mercurial), Vcs-Mtn (Monotone), Vcs-Svn + (Subversion) + + +

+ The field name identifies the VCS. The field's value uses the + version control system's conventional syntax for describing + repository locations and should be sufficient to locate the + repository used for packaging. Ideally, it also locates the + branch used for development of new versions of the Debian + package. +

+

+ In the case of Git, the value consists of a URL, optionally + followed by the word -b and the name of a branch in + the indicated repository, following the syntax of the + git clone command. If no branch is specified, the + packaging should be on the default branch. +

+

+ More than one different VCS may be specified for the same + package. +

+
+ +

+
@@ -4590,13 +4658,13 @@ fi

The relations allowed are <<, <=, - =, >= and >> for - strictly earlier, earlier or equal, exactly equal, later or - equal and strictly later, respectively. The deprecated - forms < and > were used to mean - earlier/later or equal, rather than strictly earlier/later, - so they should not appear in new packages (though - dpkg still supports them). + =, >= and >> for strictly + earlier, earlier or equal, exactly equal, later or equal and + strictly later, respectively. The deprecated + forms < and > were confusingly used to + mean earlier/later or equal, rather than strictly earlier/later, + and must not appear in new packages (though dpkg + still supports them with a warning).

@@ -4660,7 +4728,8 @@ Build-Depends: kernel-headers-2.2.10 [!hurd-i386],

- For binary relationship fields, the architecture restriction + For binary relationship fields and the Built-Using + field, the architecture restriction syntax is only supported in the source package control file debian/control. When the corresponding binary package control file is generated, the relationship will either @@ -5384,6 +5453,53 @@ Replaces: mail-transport-agent

+ + + Additional source packages used to build the binary + - Built-Using + + +

+ Some binary packages incorporate parts of other packages when built + but do not have to depend on those packages. Examples include + linking with static libraries or incorporating source code from + another package during the build. In this case, the source packages + of those other packages are a required part of the complete source + (the binary package is not reproducible without them). +

+ +

+ A Built-Using field must list the corresponding source + package for any such binary package incorporated during the build + + Build-Depends in the source package is not adequate since + it (rightfully) does not document the exact version used in the + build. + , + including an "exactly equal" ("=") version relation on the version + that was used to build that binary package + The archive software might reject packages that refer to + non-existent sources. + . +

+ +

+ A package using the source code from the gcc-4.6-source + binary package built from the gcc-4.6 source package would + have this field in its control file: + +Built-Using: gcc-4.6 (= 4.6.0-11) + +

+ +

+ A package including binaries from grub2 and loadlin would + have this field in its control file: + +Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1) + +

+
@@ -6161,11 +6277,11 @@ install -m644 debian/shlibs.package debian/package/DEBIAN/ File System Structure

- The location of all installed files and directories must - comply with the Filesystem Hierarchy Standard (FHS), - version 2.3, with the exceptions noted below, and except - where doing so would violate other terms of Debian - Policy. The following exceptions to the FHS apply: + The location of all files and directories must comply with the + Filesystem Hierarchy Standard (FHS), version 2.3, with the + exceptions noted below, and except where doing so would + violate other terms of Debian Policy. The following + exceptions to the FHS apply: @@ -7960,10 +8076,13 @@ fname () {

You may wish to restrict your script to SUSv3 features plus the above set when possible so that it may use /bin/sh - as its interpreter. If your script works with dash - (originally called ash), it probably complies with - the above requirements, but if you are in doubt, use - /bin/bash. + as its interpreter. Checking your script + with checkbashisms from + the devscripts package or running your script + with an alternate shell such as posh may help + uncover violations of the above requirements. If in doubt + whether a script complies with these requirements, + use /bin/bash.

@@ -9913,7 +10032,31 @@ END-INFO-DIR-ENTRY You should not use the copyright file as a general README file. If your package has such a file it should be installed in /usr/share/doc/package/README or - README.Debian or some other appropriate place.

+ README.Debian or some other appropriate place. +

+ +

+ All copyright files must be encoded in UTF-8. +

+ + + Machine-readable copyright information + +

+ A specification for a standard, machine-readable format + for debian/copyright files is maintained as part + of the debian-policy package. This + document may be found in the copyright-format + files in the debian-policy package. It is + also available from the Debian web mirrors at + . +

+ +

+ Use of this format is optional. +

+
@@ -10443,10 +10586,10 @@ END-INFO-DIR-ENTRY the PATH if necessary, and pass its second and subsequent arguments to the command it calls. If no root-command is supplied - then dpkg-buildpackage will take no - special action to gain root privilege, so that for - most packages it will have to be invoked as root to - start with.

+ then dpkg-buildpackage will use + the fakeroot command, which is sufficient + to build most packages without actually requiring root + privileges.

-b, -B