dsc.man 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. .\" dpkg manual page - dsc(5)
  2. .\"
  3. .\" Copyright © 1995-1996 Ian Jackson <ijackson@chiark.greenend.org.uk>
  4. .\" Copyright © 2015 Guillem Jover <guillem@debian.org>
  5. .\"
  6. .\" This is free software; you can redistribute it and/or modify
  7. .\" it under the terms of the GNU General Public License as published by
  8. .\" the Free Software Foundation; either version 2 of the License, or
  9. .\" (at your option) any later version.
  10. .\"
  11. .\" This is distributed in the hope that it will be useful,
  12. .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. .\" GNU General Public License for more details.
  15. .\"
  16. .\" You should have received a copy of the GNU General Public License
  17. .\" along with this program. If not, see <https://www.gnu.org/licenses/>.
  18. .
  19. .TH dsc 5 "%RELEASE_DATE%" "%VERSION%" "Debian"
  20. .nh
  21. .SH NAME
  22. dsc \- Debian source packages' control file format
  23. .
  24. .SH SYNOPSIS
  25. .IB filename .dsc
  26. .
  27. .SH DESCRIPTION
  28. Each Debian source package is composed of a .dsc control file, which
  29. contains a number of fields.
  30. Each field begins with a tag, such as
  31. .B Source
  32. or
  33. .B Binary
  34. (case insensitive), followed by a colon, and the body of the field.
  35. Fields are delimited only by field tags.
  36. In other words, field text may be multiple lines in length, but the
  37. installation tools will generally join lines when processing the body
  38. of the field (except in case of the multiline fields
  39. .BR Package\-List ", " Files ", " Checksums\-Sha1 " and " Checksums\-Sha256 ,
  40. see below).
  41. .PP
  42. The control data might be enclosed in an OpenPGP ASCII Armored signature,
  43. as specified in RFC4880.
  44. .
  45. .SH FIELDS
  46. .TP
  47. .BR Format: " \fIformat-version\fP (required)"
  48. The value of this field declares the format version of the source package.
  49. The field value is used by programs acting on a source package to
  50. interpret the list of files in the source package and determine how
  51. to unpack it.
  52. The syntax of the field value is a numeric major revision, a period,
  53. a numeric minor revision, and then an optional subtype after whitespace,
  54. which if specified is an alphanumeric word in parentheses.
  55. The subtype is optional in the syntax but may be mandatory for particular
  56. source format revisions.
  57. The source formats currently supported by \fBdpkg\fP are \fB1.0\fP,
  58. \fB2.0\fP, \fB3.0 (native)\fP, \fB3.0 (quilt)\fP, \fB3.0 (git)\fP,
  59. \fB3.0 (bzr)\fP and \fB3.0 (custom)\fP.
  60. .TP
  61. .BR Source: " \fIsource-name\fP (required)"
  62. The value of this field determines the package name, and is used to
  63. generate file names by most installation tools.
  64. .TP
  65. .BI Binary: " binary-package-list"
  66. This folded field lists binary packages which this source package can produce,
  67. separated by commas.
  68. This field has now been superseded by the \fBPackage\-List\fP field, which
  69. gives enough information about what binary packages are produced on which
  70. architecture, build-profile and other involved restrictions.
  71. .TP
  72. .BR Architecture: " \fIarch-list\fP (recommended)"
  73. A list of architectures and architecture wildcards separated by spaces
  74. which specify the type of hardware this package can be compiled for.
  75. Common architecture names and architecture wildcards are \fBamd64\fP,
  76. \fBarmel\fP, \fBi386\fP, \fBlinux\-any\fP, \fBany\-amd64\fP, etc.
  77. Note that the \fBall\fP value is meant for packages that are architecture
  78. independent, and \fBany\fP for packages that are architecture dependent.
  79. The list may include (or consist solely of) the special value \fBall\fP.
  80. When the list contains the architecture wildcard \fBany\fP, the only
  81. other value allowed in the list is \fBall\fP.
  82. The field value is generally generated from \fBArchitecture\fP fields
  83. from in the \fIdebian/control\fP in the source package.
  84. .TP
  85. .BR Version: " \fIversion-string\fP (required)"
  86. Typically, this is the original package's version number in whatever form
  87. the program's author uses.
  88. It may also include a Debian revision number (for non-native packages).
  89. The exact format and sorting algorithm are described in
  90. .BR deb\-version (5).
  91. .TP
  92. .BI Origin: " name"
  93. The name of the distribution this package is originating from.
  94. .TP
  95. .BR Maintainer: " \fIfullname-email\fP (recommended)"
  96. Should be in the format “Joe Bloggs <jbloggs@foo.com>”, and is
  97. typically the person who created the package, as opposed to the author
  98. of the software that was packaged.
  99. .TP
  100. .BI Uploaders: " fullname-email-list"
  101. Lists all the names and email addresses of co-maintainers of the package,
  102. in the same format as the \fBMaintainer\fP field.
  103. Multiple co-maintainers should be separated by a comma.
  104. .TP
  105. .BI Homepage: " url"
  106. The upstream project home page \fIurl\fP.
  107. .TP
  108. .BR Standards\-Version: " \fIversion-string\fP (recommended)"
  109. This documents the most recent version of the distribution policy standards
  110. this package complies with.
  111. .TP
  112. .BI Vcs\-Browser: " url"
  113. The \fIurl\fP of a web interface to browse the Version Control System
  114. repository.
  115. .TP
  116. .BI Vcs\-Arch: " url"
  117. .TQ
  118. .BI Vcs\-Bzr: " url"
  119. .TQ
  120. .BI Vcs\-Cvs: " url"
  121. .TQ
  122. .BI Vcs\-Darcs: " url"
  123. .TQ
  124. .BI Vcs\-Git: " url"
  125. .TQ
  126. .BI Vcs\-Hg: " url"
  127. .TQ
  128. .BI Vcs\-Mtn: " url"
  129. .TQ
  130. .BI Vcs\-Svn: " url"
  131. These fields declare the \fIurl\fP of the Version Control System repository
  132. used to maintain this package.
  133. See \fBdeb\-src\-control\fP(5) for more details.
  134. .TP
  135. .BI Testsuite: " name-list"
  136. This field declares that the source package contains the specified test suites.
  137. The value is a space-separated list of test suites.
  138. If the \fBautopkgtest\fP value is present, a \fIdebian/tests/control\fP is
  139. expected to be present, if the file is present but not the value, then
  140. \fBdpkg\-source\fP will automatically add it, preserving previous values.
  141. .TP
  142. .BI Testsuite\-Triggers: " package-list"
  143. This field declares the comma-separated union of all test dependencies
  144. (\fBDepends\fP fields in \fIdebian/tests/control\fP file), with all
  145. restrictions removed, and OR dependencies flattened, except for binaries
  146. generated by this source package and meta-dependencies such as \fB@\fP or
  147. \fB@builddeps@\fP.
  148. .TP
  149. .BI Build\-Depends: " package-list"
  150. .TQ
  151. .BI Build\-Depends\-Arch: " package-list"
  152. .TQ
  153. .BI Build\-Depends\-Indep: " package-list"
  154. .TQ
  155. .BI Build\-Conflicts: " package-list"
  156. .TQ
  157. .BI Build\-Conflicts\-Arch: " package-list"
  158. .TQ
  159. .BI Build\-Conflicts\-Indep: " package-list"
  160. These fields declare relationships between the source package and packages
  161. used to build it.
  162. They are discussed in the \fBdeb\-src\-control\fP(5) manpage.
  163. .TP
  164. .BI Package\-List:
  165. .TQ
  166. .RI " " package " " package-type " " section " " priority " " key-value-list
  167. This multiline field contains a list of binary packages generated by this
  168. source package.
  169. The \fIpackage\fP is the binary package name.
  170. The \fIpackage-type\fP is the binary package type, usually \fBdeb\fP, another
  171. common value is \fBudeb\fP.
  172. The \fIsection\fP and \fIpriority\fP match the binary package fields of the
  173. same name.
  174. The \fIkey-value-list\fP is a space separated \fIkey\fP\fB=\fP\fIvalue\fP list,
  175. and the currently known optional keys are:
  176. .RS
  177. .TP
  178. .B arch
  179. The architecture restriction from the binary package \fBArchitecture\fP
  180. field, with spaces converted to ‘,’.
  181. .TP
  182. .B profile
  183. The normalized build-profile restriction formula from the binary package
  184. \fBBuild\-Profile\fP field, with ORs converted to ‘+’ and ANDs to
  185. ‘,’.
  186. .TP
  187. .B essential
  188. If the binary package is essential, this key will contain the value of the
  189. \fBEssential\fP field, that is a \fByes\fP value.
  190. .RE
  191. .TP
  192. .BR Files: " (required)"
  193. .TQ
  194. .BR Checksums\-Sha1: " (required)"
  195. .TQ
  196. .BR Checksums\-Sha256: " (required)"
  197. .TQ
  198. .RI " " checksum " " size " " filename
  199. These multiline fields contain a list of files with a checksum and size
  200. for each one.
  201. These fields have the same syntax and differ only in the checksum algorithm
  202. used: MD5 for \fBFiles\fP, SHA-1 for \fBChecksums\-Sha1\fP and SHA-256 for
  203. \fBChecksums\-Sha256\fP.
  204. The first line of the field value (the part on the same line as the field
  205. name followed by a colon) is always empty.
  206. The content of the field is expressed as continuation lines, one line per file.
  207. Each line consists of the checksum, a space, the file size, a space, and the
  208. file name.
  209. These fields list all files that make up the source package.
  210. The list of files in these fields must match the list of files in the
  211. other related fields.
  212. .
  213. .\" .SH EXAMPLE
  214. .\" .RS
  215. .\" .nf
  216. .\" .fi
  217. .\" .RE
  218. .
  219. .SH BUGS
  220. The \fBFormat\fP field conflates the format for the \fB.dsc\fP file itself
  221. and the format of the extracted source package.
  222. .SH SEE ALSO
  223. .BR deb\-src\-control (5),
  224. .BR deb\-version (5),
  225. .BR dpkg\-source (1).