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