1dsc(5) dpkg suite dsc(5)
2
3
4
6 dsc - Debian source packages' control file format
7
9 filename.dsc
10
12 Each Debian source package is composed of a .dsc control file, which
13 contains a number of fields, in deb822(5) format.
14
15 Each field begins with a tag, such as Source or Binary (case
16 insensitive), followed by a colon, and the body of the field (case
17 sensitive unless stated otherwise). Fields are delimited only by field
18 tags. In other words, field text may be multiple lines in length, but
19 the installation tools will generally join lines when processing the
20 body of the field (except in case of the multiline fields Package-List,
21 Files, Checksums-Sha1 and Checksums-Sha256, see below).
22
23 The control data might be enclosed in an OpenPGP ASCII Armored
24 signature, as specified in RFC4880.
25
27 Format: format-version (required)
28 The value of this field declares the format version of the source
29 package. The field value is used by programs acting on a source
30 package to interpret the list of files in the source package and
31 determine how to unpack it. The syntax of the field value is a
32 numeric major revision (“0-9”), a period (“.”), a numeric minor
33 revision (“0-9”), and then an optional subtype after whitespace (“
34 \t”), which if specified is a lowercase alphanumeric (“a-z0-9”)
35 word in parentheses (“()”). The subtype is optional in the syntax
36 but may be mandatory for particular source format revisions.
37
38 The source formats currently supported by dpkg are 1.0, 2.0, 3.0
39 (native), 3.0 (quilt), 3.0 (git), 3.0 (bzr) and 3.0 (custom). See
40 dpkg-source(1) for their description.
41
42 Source: source-name (required)
43 The value of this field determines the package name, and is used to
44 generate file names by most installation tools.
45
46 Binary: binary-package-list
47 This folded field lists binary packages which this source package
48 can produce, separated by commas.
49
50 This field has now been superseded by the Package-List field, which
51 gives enough information about what binary packages are produced on
52 which architecture, build-profile and other involved restrictions.
53
54 Architecture: arch-list (recommended)
55 A list of architectures and architecture wildcards separated by
56 spaces which specify the type of hardware this package can be
57 compiled for. Common architecture names and architecture wildcards
58 are amd64, armel, i386, linux-any, any-amd64, etc.
59
60 Note that the all value is meant for packages that are architecture
61 independent, and any for packages that are architecture dependent.
62 The list may include (or consist solely of) the special value all.
63 When the list contains the architecture wildcard any, the only
64 other value allowed in the list is all.
65
66 The field value is generally generated from Architecture fields
67 from in the debian/control in the source package.
68
69 Version: version-string (required)
70 Typically, this is the original package's version number in
71 whatever form the program's author uses. It may also include a
72 Debian revision number (for non-native packages). The exact format
73 and sorting algorithm are described in deb-version(7).
74
75 Origin: name
76 The name of the distribution this package is originating from.
77
78 Maintainer: fullname-email (recommended)
79 Should be in the format “Joe Bloggs <jbloggs@foo.com>”, and is
80 typically the person who created the package, as opposed to the
81 author of the software that was packaged.
82
83 Uploaders: fullname-email-list
84 Lists all the names and email addresses of co-maintainers of the
85 package, in the same format as the Maintainer field. Multiple co-
86 maintainers should be separated by a comma.
87
88 Description short-description
89 long-description
90 The format for the source package description is a short brief
91 summary on the first line (after the Description field). The
92 following lines should be used as a longer, more detailed
93 description. Each line of the long description must be preceded by
94 a space, and blank lines in the long description must contain a
95 single ‘.’ following the preceding space.
96
97 Homepage: url
98 The upstream project home page url.
99
100 Standards-Version: version-string (recommended)
101 This documents the most recent version of the distribution policy
102 standards this package complies with.
103
104 Vcs-Browser: url
105 The url of a web interface to browse the Version Control System
106 repository.
107
108 Vcs-Arch: url
109 Vcs-Bzr: url
110 Vcs-Cvs: url
111 Vcs-Darcs: url
112 Vcs-Git: url
113 Vcs-Hg: url
114 Vcs-Mtn: url
115 Vcs-Svn: url
116 These fields declare the url of the Version Control System
117 repository used to maintain this package. See deb-src-control(5)
118 for more details.
119
120 Testsuite: name-list
121 This field declares that the source package contains the specified
122 test suites. The value is a comma-separated list of test suites.
123 If the autopkgtest value is present, a debian/tests/control is
124 expected to be present, if the file is present but not the value,
125 then dpkg-source will automatically add it, preserving previous
126 values.
127
128 Testsuite-Triggers: package-list
129 This field declares the comma-separated union of all test
130 dependencies (Depends fields in debian/tests/control file), with
131 all restrictions removed, and OR dependencies flattened (that is,
132 converted to separate AND relationships), except for binaries
133 generated by this source package and its meta-dependency equivalent
134 @.
135
136 Rationale: this field is needed because otherwise to be able to get
137 the test dependencies, each source package would need to be
138 unpacked.
139
140 Build-Depends: package-list
141 Build-Depends-Arch: package-list
142 Build-Depends-Indep: package-list
143 Build-Conflicts: package-list
144 Build-Conflicts-Arch: package-list
145 Build-Conflicts-Indep: package-list
146 These fields declare relationships between the source package and
147 packages used to build it. They are discussed in the deb-src-
148 control(5) manpage.
149
150 Package-List:
151 package package-type section priority key-value-list
152 This multiline field contains a list of binary packages generated
153 by this source package.
154
155 The package is the binary package name.
156
157 The package-type is the binary package type, usually deb, another
158 common value is udeb.
159
160 The section and priority match the binary package fields of the
161 same name.
162
163 The key-value-list is a space separated key=value list, and the
164 currently known optional keys are:
165
166 arch
167 The architecture restriction from the binary package
168 Architecture field, with spaces converted to ‘,’.
169
170 profile
171 The normalized build-profile restriction formula from the
172 binary package Build-Profile field, with ORs converted to ‘+’
173 and ANDs to ‘,’.
174
175 protected
176 If the binary package is protected, this key will contain the
177 value of the Protected field, that is a yes value.
178
179 Supported since dpkg 1.20.1.
180
181 essential
182 If the binary package is essential, this key will contain the
183 value of the Essential field, that is a yes value.
184
185 Files: (required)
186 Checksums-Sha1: (required)
187 Checksums-Sha256: (required)
188 checksum size filename
189 These multiline fields contain a list of files with a checksum and
190 size for each one. These fields have the same syntax and differ
191 only in the checksum algorithm used: MD5 for Files, SHA-1 for
192 Checksums-Sha1 and SHA-256 for Checksums-Sha256.
193
194 The first line of the field value (the part on the same line as the
195 field name followed by a colon) is always empty. The content of
196 the field is expressed as continuation lines, one line per file.
197 Each line consists of the checksum, a space, the file size, a
198 space, and the file name.
199
200 These fields list all files that make up the source package. The
201 list of files in these fields must match the list of files in the
202 other related fields.
203
205 The Format field conflates the format for the .dsc file itself and the
206 format of the extracted source package.
207
209 deb822(5), deb-src-control(5), deb-version(7), dpkg-source(1).
210
211
212
2131.21.9 2022-07-01 dsc(5)