259 lines
8.2 KiB
Text
259 lines
8.2 KiB
Text
# 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 RFC9580.
|
||
|
||
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, weak)
|
||
|
||
=item B<Checksums-Sha1:> (required, weak)
|
||
|
||
=item B<Checksums-Sha256:> (required, strong)
|
||
|
||
=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>.
|
||
|
||
B<Note>: The MD5 and SHA-1 checksums are considered weak,
|
||
and should never be assumed to be sufficient for secure verification.
|
||
|
||
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<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)>.
|