X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=aa42b5d078c84b822aa89a1b04eeb7b931713432;hb=4953fb7792b9fbe04c27dc817a2eb3cd9ab450b8;hp=465a1293b8b03dfe74e046d8dcb74c0af3ef2292;hpb=e729022ef948c6c423c32e96ba9313f9529e1ff8;p=debian%2Fdebian-policy.git diff --git a/policy.sgml b/policy.sgml index 465a129..aa42b5d 100644 --- a/policy.sgml +++ b/policy.sgml @@ -1951,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 @@ -1964,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 @@ -2642,6 +2646,7 @@ Package: libc6 Depends et al Description (mandatory) Homepage + Built-Using

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

@@ -3721,11 +3727,13 @@ 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. @@ -4601,13 +4609,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).

@@ -4671,7 +4679,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 @@ -5395,6 +5404,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) + +

+
@@ -7974,9 +8030,10 @@ fname () { as its interpreter. Checking your script with checkbashisms from the devscripts package or running your script - with posh may help uncover violations of the above - requirements. If in doubt whether a script complies with these - requirements, use /bin/bash. + 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.

@@ -9929,6 +9986,10 @@ END-INFO-DIR-ENTRY README.Debian or some other appropriate place.

+

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

+ Machine-readable copyright information @@ -10476,10 +10537,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