chiark / gitweb /
dpkg (1.18.25) stretch; urgency=medium
[dpkg] / man / deb-buildinfo.man
1 .\" dpkg manual page - deb-buildinfo(5)
2 .\"
3 .\" Copyright © 1995-1996 Ian Jackson <ijackson@chiark.greenend.org.uk>
4 .\" Copyright © 2010 Russ Allbery <rra@debian.org>
5 .\" Copyright © 2015-2016 Guillem Jover <guillem@debian.org>
6 .\"
7 .\" This is free software; you can redistribute it and/or modify
8 .\" it under the terms of the GNU General Public License as published by
9 .\" the Free Software Foundation; either version 2 of the License, or
10 .\" (at your option) any later version.
11 .\"
12 .\" This is distributed in the hope that it will be useful,
13 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
14 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 .\" GNU General Public License for more details.
16 .\"
17 .\" You should have received a copy of the GNU General Public License
18 .\" along with this program.  If not, see <https://www.gnu.org/licenses/>.
19 .
20 .TH deb\-buildinfo 5 "%RELEASE_DATE%" "%VERSION%" "dpkg suite"
21 .nh
22 .SH NAME
23 deb\-buildinfo \- Debian build information file format
24 .
25 .SH SYNOPSIS
26 .IB filename .buildinfo
27 .
28 .SH DESCRIPTION
29 Each Debian source package build can record the build information in
30 a \fB.buildinfo\fP control file, which contains a number of fields.
31 Each field begins with a tag, such as
32 .B Source
33 or
34 .B Binary
35 (case insensitive), followed by a colon, and the body of the field.
36 Fields are delimited only by field tags.
37 In other words, field text may be multiple lines in length, but the
38 installation tools will generally join lines when processing the body
39 of the field (except in case of the multiline fields
40 .BR Binary\-Only\-Changes ", " Installed\-Build\-Depends ", " Environment ", "
41 .BR Checksums\-Md5 ", " Checksums\-Sha1
42 and
43 .BR Checksums\-Sha256 ,
44 see below).
45 .PP
46 The control data might be enclosed in an OpenPGP ASCII Armored signature,
47 as specified in RFC4880.
48 .PP
49 The name of the \fB.buildinfo\fP file will depend on the type of build and
50 will be as specific as necessary but not more;
51 for a build that includes \fBany\fP the name will be
52 \fIsource-name\fP\fB_\fP\fIbinary-version\fP\fB_\fP\fIarch\fP\fB.buildinfo\fP,
53 or otherwise for a build that includes \fBall\fP the name will be
54 \fIsource-name\fP\fB_\fP\fIbinary-version\fP\fB_\fP\fBall.buildinfo\fP,
55 or otherwise for a build that includes \fBsource\fP the name will be
56 \fIsource-name\fP\fB_\fP\fIsource-version\fP\fB_\fP\fBsource.buildinfo\fP.
57 .
58 .SH FIELDS
59 .TP
60 .BR Format: " \fIformat-version\fP (required)"
61 The value of this field declares the format version of the file.
62 The syntax of the field value is a version number with a major and minor
63 component.
64 Backward incompatible changes to the format will bump the major version,
65 and backward compatible changes (such as field additions) will bump the
66 minor version.
67 The current format version is \fB1.0\fP.
68 .TP
69 .BR Source: " \fIsource-name\fP [\fB(\fP\fIsource-version\fP\fB)\fP] (required)"
70 The name of the source package.
71 If the source version differs from the binary version, then the
72 \fIsource-name\fP will be followed by a \fIsource-version\fP in parenthesis.
73 This can happen when the build is for a binary-only non-maintainer upload.
74 .TP
75 .BR Binary: " \fIbinary-package-list\fP (required)"
76 This folded field is a space-separated list of binary packages built.
77 .TP
78 .BR Architecture: " \fIarch-list\fP (required)"
79 This space-separated field lists the architectures of the files currently
80 being built.
81 Common architectures are \fBamd64\fP, \fBarmel\fP, \fBi386\fP, etc.
82 Note that the \fBall\fP value is meant for packages that are architecture
83 independent.
84 If the source for the package is also being built, the special entry
85 \fBsource\fP is also present.
86 Architecture wildcards must never be present in the list.
87 .TP
88 .BR Version: " \fIversion-string\fP (required)"
89 Typically, this is the original package's version number in whatever form
90 the program's author uses.
91 It may also include a Debian revision number (for non-native packages).
92 The exact format and sorting algorithm are described in
93 .BR deb\-version (5).
94 .TP
95 .B Binary\-Only\-Changes:
96 .TQ
97 .I " changelog-entry"
98 This multiline field contains the concatenated text of the changelog
99 entry for a binary-only non-maintainer upload (binNMU) if that is the case.
100 To make this a valid multiline field empty lines are replaced with a
101 single full stop (‘.’) and all lines are indented by one space
102 character.
103 The exact content depends on the changelog format.
104 .TP
105 .BR Checksums\-Md5: " (required)"
106 .TQ
107 .BR Checksums\-Sha1: " (required)"
108 .TQ
109 .BR Checksums\-Sha256: " (required)"
110 .TQ
111 .RI " " checksum " " size " " filename
112 These multiline fields contain a list of files with a checksum and size
113 for each one.
114 These fields have the same syntax and differ only in the checksum algorithm
115 used: MD5 for \fBChecksums\-Md5\fP, SHA-1 for \fBChecksums\-Sha1\fP and
116 SHA-256 for \fBChecksums\-Sha256\fP.
117
118 The first line of the field value (the part on the same line as the field
119 name followed by a colon) is always empty.
120 The content of the field is expressed as continuation lines, one line per file.
121 Each line consists of space-separated entries describing the file:
122 the checksum, the file size, and the file name.
123
124 These fields list all files that make up the build.
125 .TP
126 .BR Build\-Origin: " \fIname\fP"
127 The name of the distribution this package is originating from.
128 .TP
129 .BR Build\-Architecture: " \fIarch\fP (required)"
130 The Debian architecture for the installation the packages is being built in.
131 Common architectures are \fBamd64\fP, \fBarmel\fP, \fBi386\fP, etc.
132 .TP
133 .BR Build\-Date: " \fIbuild-date\fP"
134 The date the package was built.
135 It must be in the same format as the date in a \fBdeb\-changelog\fP(5)
136 entry.
137 .TP
138 .BR Build\-Path: " \fIbuild-path\fP"
139 The absolute build path, which correspond to the unpacked source tree.
140 This field is only going to be present if the vendor has whitelisted it
141 via some pattern match to avoid leaking possibly sensitive information.
142
143 On Debian and derivatives only build paths starting with \fI/build/\fP
144 will emit this field.
145 .TP
146 .BR Installed\-Build\-Depends: " (required)"
147 .TQ
148 .I " package-list"
149 The list of installed and configured packages that might affect the package
150 build process.
151
152 The list consists of each package name, optionally arch-qualified for foreign
153 architectures, with an exact version restriction, separated by commas.
154
155 The list includes all essential packages, packages listed in
156 \fBBuild\-Depends\fP, \fBBuild\-Depends\-Arch\fP, \fBBuild\-Depends\-Indep\fP
157 source control fields, any vendor specific builtin dependencies, and all
158 their recursive dependencies.
159 On Debian and derivatives the dependency builtin is \fBbuild\-essential\fP.
160
161 For dependencies coming from the source control fields, all dependency
162 alternatives and all providers of virtual packages depended on will be
163 included.
164 .TP
165 .BR Environment:
166 .TQ
167 .I " variable-list"
168 The list of environment variables that are known to affect the package build
169 process, with each environment variable followed by an equal sign (‘=’)
170 and the variable's quoted value, using double quotes (‘"’), and
171 backslashes escaped (‘\\\\’).
172 .
173 .\" .SH EXAMPLE
174 .\" .RS
175 .\" .nf
176 .\"
177 .\" .fi
178 .\" .RE
179 .
180 .SH SEE ALSO
181 .BR deb\-changes (5),
182 .BR deb\-version (5),
183 .BR dpkg\-genbuildinfo (1).