diff options
Diffstat (limited to '')
-rw-r--r-- | man/deb-buildinfo.pod | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/man/deb-buildinfo.pod b/man/deb-buildinfo.pod new file mode 100644 index 0000000..2f8ac43 --- /dev/null +++ b/man/deb-buildinfo.pod @@ -0,0 +1,269 @@ +# dpkg manual page - deb-buildinfo(5) +# +# Copyright © 1995-1996 Ian Jackson <ijackson@chiark.greenend.org.uk> +# Copyright © 2010 Russ Allbery <rra@debian.org> +# Copyright © 2015-2016 Guillem Jover <guillem@debian.org> +# +# This is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +=encoding utf8 + +=head1 NAME + +deb-buildinfo - Debian build information file format + +=head1 SYNOPSIS + +I<filename>B<.buildinfo> + +=head1 DESCRIPTION + +Each Debian source package build can record the build information in +a B<.buildinfo> control file, which contains a number of fields in +L<deb822(5)> format. + +Each field begins with a tag, such as +B<Source> +or +B<Binary> +(case insensitive), followed by a colon, and the body of the field +(case sensitive unless stated otherwise). +Fields are delimited only by field tags. +In other words, field text may be multiple lines in length, but the +installation tools will generally join lines when processing the body +of the field (except in case of the multiline fields +B<Binary-Only-Changes>, B<Installed-Build-Depends>, B<Environment>, +B<Checksums-Md5>, B<Checksums-Sha1> +and +B<Checksums-Sha256>, +see below). + +The control data might be enclosed in an OpenPGP ASCII Armored signature, +as specified in RFC4880. + +The name of the B<.buildinfo> file will depend on the type of build and +will be as specific as necessary but not more; the name will be: + +=over + +=item I<source-name>B<_>I<binary-version>B<_>I<arch>B<.buildinfo> + +for a build that includes B<any> + +=item I<source-name>B<_>I<binary-version>B<_>B<all.buildinfo> + +otherwise for a build that includes B<all> + +=item I<source-name>B<_>I<source-version>B<_>B<source.buildinfo> + +otherwise for a build that includes B<source> + +=back + +=head1 FIELDS + +=over + +=item B<Format:> I<format-version> (required) + +The value of this field declares the format version of the file. +The syntax of the field value is a version number with a major and minor +component. +Backward incompatible changes to the format will bump the major version, +and backward compatible changes (such as field additions) will bump the +minor version. +The current format version is B<1.0>. + +=item B<Source:> I<source-name> [B<(>I<source-version>B<)>] (required) + +The name of the source package. +If the source version differs from the binary version, then the +I<source-name> will be followed by a I<source-version> in parenthesis. +This can happen when the build is for a binary-only non-maintainer upload. + +=item B<Binary:> I<binary-package-list> (required in context) + +This folded field is a space-separated list of binary packages built. +If the build is source-only, then the field is omitted (since dpkg 1.20.0). + +=item B<Architecture:> I<arch-list> (required) + +This space-separated field lists the architectures of the files currently +being built. +Common architectures are B<amd64>, B<armel>, B<i386>, etc. +Note that the B<all> value is meant for packages that are architecture +independent. +If the source for the package is also being built, the special entry +B<source> is also present. +Architecture wildcards must never be present in the list. + +=item B<Version:> I<version-string> (required) + +Typically, this is the original package's version number in whatever form +the program's author uses. +It may also include a Debian revision number (for non-native packages). +The exact format and sorting algorithm are described in +L<deb-version(7)>. + +=item B<Binary-Only-Changes:> + +=item S< >I<changelog-entry> + +This multiline field contains the concatenated text of the changelog +entry for a binary-only non-maintainer upload (binNMU) if that is the case. +To make this a valid multiline field empty lines are replaced with a +single full stop (‘.’) and all lines are indented by one space +character. +The exact content depends on the changelog format. + +=item B<Checksums-Md5:> (required) + +=item B<Checksums-Sha1:> (required) + +=item B<Checksums-Sha256:> (required) + +=item S< >I<checksum> I<size> I<filename> + +These multiline fields contain a list of files with a checksum and size +for each one. +These fields have the same syntax and differ only in the checksum algorithm +used: MD5 for B<Checksums-Md5>, SHA-1 for B<Checksums-Sha1> and +SHA-256 for B<Checksums-Sha256>. + +The first line of the field value (the part on the same line as the field +name followed by a colon) is always empty. +The content of the field is expressed as continuation lines, one line per file. +Each line consists of space-separated entries describing the file: +the checksum, the file size, and the file name. + +These fields list all files that make up the build. + +=item B<Build-Origin:> I<name> + +The name of the distribution this package is originating from. + +=item B<Build-Architecture:> I<arch> (required) + +The Debian architecture for the installation the packages is being built in. +Common architectures are B<amd64>, B<armel>, B<i386>, etc. + +=item B<Build-Date:> I<build-date> + +The date the package was built. +It must be in the same format as the date in a L<deb-changelog(5)> +entry. + +=item B<Build-Kernel-Version:> I<build-kernel-version> + +The release and version (in an unspecified format) of the kernel running +on the build system. +This field is only going to be present if the builder has explicitly +requested it, to avoid leaking possibly sensitive information. + +=item B<Build-Path:> I<build-path> + +The absolute build path, which correspond to the unpacked source tree. +This field is only going to be present if the vendor has allowed it +via some pattern match to avoid leaking possibly sensitive information. + +On Debian and derivatives only build paths starting with I</build/> +will emit this field. + +=item B<Build-Tainted-By:> + +=item S< >I<taint-reason-list> + +This folded field contains a space-separated list of non-exhaustive reason +tags (formed by alphanumeric and dash characters) which identify why the +current build has been tainted (since dpkg 1.19.5). + +On Debian and derivatives the following reason tags can be emitted: + +=over + +=item B<merged-usr-via-aliased-dirs> + +The system has a merged I</usr> via aliased directories (previously known +as B<merged-usr-via-symlinks>). +This will confuse B<dpkg-query>, B<dpkg-statoverride>, +B<dpkg-trigger>, B<update-alternatives> and any other tool using +pathnames as keys into their databases, as it creates filesystem aliasing +problems, and messes with the understanding of the filesystem that +B<dpkg> has recorded in its database. +For build systems that hardcode pathnames to specific binaries or libraries +on the resulting artifacts, it can also produce packages that will be +incompatible with non-/usr-merged filesystems. + +=item B<usr-local-has-configs> + +The system has configuration files under I</usr/local/etc>. + +=item B<usr-local-has-includes> + +The system has header files under I</usr/local/include>. + +=item B<usr-local-has-programs> + +The system has programs under I</usr/local/bin> or I</usr/local/sbin>. + +=item B<usr-local-has-libraries> + +The system has libraries, either static or shared under I</usr/local/lib>. + +=item B<can-execute-cross-built-programs> + +The system can execute cross built programs, either directly or via some +emulation layer. + +Since dpkg 1.21.10. + +=back + +=item B<Installed-Build-Depends:> (required) + +=item S< >I<package-list> + +The list of installed and configured packages that might affect the package +build process. + +The list consists of each package name, optionally arch-qualified for foreign +architectures, with an exact version restriction, separated by commas. + +The list includes all essential packages, packages listed in +B<Build-Depends>, B<Build-Depends-Arch>, B<Build-Depends-Indep> +source control fields, any vendor specific builtin dependencies, and all +their recursive dependencies. +On Debian and derivatives the dependency builtin is B<build-essential>. + +For dependencies coming from the source control fields, all dependency +alternatives and all providers of virtual packages depended on will be +included. + +=item B<Environment:> + +=item S< >I<variable-list> + +The list of environment variables that are known to affect the package build +process, with each environment variable followed by an equal sign (‘=’) +and the variable's quoted value, using double quotes (‘"’), and +backslashes escaped (‘\\’). + +=back + +=head1 SEE ALSO + +L<deb822(5)>, +L<deb-changes(5)>, +L<deb-version(7)>, +L<dpkg-genbuildinfo(1)>. |