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