summaryrefslogtreecommitdiffstats
path: root/man/dsc.pod
diff options
context:
space:
mode:
Diffstat (limited to 'man/dsc.pod')
-rw-r--r--man/dsc.pod287
1 files changed, 287 insertions, 0 deletions
diff --git a/man/dsc.pod b/man/dsc.pod
new file mode 100644
index 0000000..30652f4
--- /dev/null
+++ b/man/dsc.pod
@@ -0,0 +1,287 @@
+# dpkg manual page - dsc(5)
+#
+# Copyright © 1995-1996 Ian Jackson <ijackson@chiark.greenend.org.uk>
+# Copyright © 2015 Guillem Jover <guillem@debian.org>
+#
+# This is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+=encoding utf8
+
+=head1 NAME
+
+dsc - Debian source packages' control file format
+
+=head1 SYNOPSIS
+
+I<filename>B<.dsc>
+
+=head1 DESCRIPTION
+
+Each Debian source package is composed of a .dsc control file, which
+contains a number of fields, in L<deb822(5)> format.
+
+Each field begins with a tag, such as
+B<Source>
+or
+B<Binary>
+(case insensitive), followed by a colon, and the body of the field
+(case sensitive unless stated otherwise).
+Fields are delimited only by field tags.
+In other words, field text may be multiple lines in length, but the
+installation tools will generally join lines when processing the body
+of the field (except in case of the multiline fields
+B<Package-List>, B<Files>, B<Checksums-Sha1> and B<Checksums-Sha256>,
+see below).
+
+The control data might be enclosed in an OpenPGP ASCII Armored signature,
+as specified in RFC4880.
+
+=head1 FIELDS
+
+=over
+
+=item B<Format:> I<format-version> (required)
+
+The value of this field declares the format version of the source package.
+The field value is used by programs acting on a source package to
+interpret the list of files in the source package and determine how
+to unpack it.
+The syntax of the field value is a numeric major revision (“0-9”), a
+period (“.”), a numeric minor revision (“0-9”), and then an optional
+subtype after whitespace (“ \t”), which if specified is a lowercase
+alphanumeric (“a-z0-9”) word in parentheses (“()”).
+The subtype is optional in the syntax but may be mandatory for particular
+source format revisions.
+
+The source formats currently supported by B<dpkg> are B<1.0>,
+B<2.0>, B<3.0 (native)>, B<3.0 (quilt)>, B<3.0 (git)>,
+B<3.0 (bzr)> and B<3.0 (custom)>.
+See B<dpkg-source>(1) for their description.
+
+=item B<Source:> I<source-name> (required)
+
+The value of this field determines the package name, and is used to
+generate file names by most installation tools.
+
+=item B<Binary:> I<binary-package-list>
+
+This folded field lists binary packages which this source package can produce,
+separated by commas.
+
+This field has now been superseded by the B<Package-List> field, which
+gives enough information about what binary packages are produced on which
+architecture, build-profile and other involved restrictions.
+
+=item B<Architecture:> I<arch-list> (recommended)
+
+A list of architectures and architecture wildcards separated by spaces
+which specify the type of hardware this package can be compiled for.
+Common architecture names and architecture wildcards are B<amd64>,
+B<armel>, B<i386>, B<linux-any>, B<any-amd64>, etc.
+
+Note that the B<all> value is meant for packages that are architecture
+independent, and B<any> for packages that are architecture dependent.
+The list may include (or consist solely of) the special value B<all>.
+When the list contains the architecture wildcard B<any>, the only
+other value allowed in the list is B<all>.
+
+The field value is generally generated from B<Architecture> fields
+from in the I<debian/control> in the source package.
+
+=item B<Version:> I<version-string> (required)
+
+Typically, this is the original package's version number in whatever form
+the program's author uses.
+It may also include a Debian revision number (for non-native packages).
+The exact format and sorting algorithm are described in
+B<deb-version>(7).
+
+=item B<Origin:> I<name>
+
+The name of the distribution this package is originating from.
+
+=item B<Maintainer:> I<fullname-email> (recommended)
+
+Should be in the format “Joe Bloggs E<lt>jbloggs@foo.comE<gt>”, and is
+typically the person who created the package, as opposed to the author
+of the software that was packaged.
+
+=item B<Uploaders:> I<fullname-email-list>
+
+Lists all the names and email addresses of co-maintainers of the package,
+in the same format as the B<Maintainer> field.
+Multiple co-maintainers should be separated by a comma.
+
+=item B<Description> I<short-description>
+
+=item S< >I<long-description>
+
+The format for the source package description is a short brief summary on the
+first line (after the B<Description> field).
+The following lines should be used as a longer, more detailed description.
+Each line of the long description must be preceded by a space, and blank
+lines in the long description must contain a single ‘B<.>’ following
+the preceding space.
+
+=item B<Homepage:> I<url>
+
+The upstream project home page I<url>.
+
+=item B<Standards-Version:> I<version-string> (recommended)
+
+This documents the most recent version of the distribution policy standards
+this package complies with.
+
+=item B<Vcs-Browser:> I<url>
+
+The I<url> of a web interface to browse the Version Control System
+repository.
+
+=item B<Vcs-Arch:> I<url>
+
+=item B<Vcs-Bzr:> I<url>
+
+=item B<Vcs-Cvs:> I<url>
+
+=item B<Vcs-Darcs:> I<url>
+
+=item B<Vcs-Git:> I<url>
+
+=item B<Vcs-Hg:> I<url>
+
+=item B<Vcs-Mtn:> I<url>
+
+=item B<Vcs-Svn:> I<url>
+
+These fields declare the I<url> of the Version Control System repository
+used to maintain this package.
+See B<deb-src-control>(5) for more details.
+
+=item B<Testsuite:> I<name-list>
+
+This field declares that the source package contains the specified test suites.
+The value is a comma-separated list of test suites.
+If the B<autopkgtest> value is present, a I<debian/tests/control> is
+expected to be present, if the file is present but not the value, then
+B<dpkg-source> will automatically add it, preserving previous values.
+
+=item B<Testsuite-Triggers:> I<package-list>
+
+This field declares the comma-separated union of all test dependencies
+(B<Depends> fields in I<debian/tests/control> file), with all
+restrictions removed, and OR dependencies flattened (that is, converted to
+separate AND relationships), except for binaries generated by this source
+package and its meta-dependency equivalent B<@>.
+
+Rationale: this field is needed because otherwise to be able to get the
+test dependencies, each source package would need to be unpacked.
+
+=item B<Build-Depends:> I<package-list>
+
+=item B<Build-Depends-Arch:> I<package-list>
+
+=item B<Build-Depends-Indep:> I<package-list>
+
+=item B<Build-Conflicts:> I<package-list>
+
+=item B<Build-Conflicts-Arch:> I<package-list>
+
+=item B<Build-Conflicts-Indep:> I<package-list>
+
+These fields declare relationships between the source package and packages
+used to build it.
+They are discussed in the B<deb-src-control>(5) manpage.
+
+=item B<Package-List:>
+
+=item S< >I<package> I<package-type> I<section> I<priority> I<key-value-list>
+
+This multiline field contains a list of binary packages generated by this
+source package.
+
+The I<package> is the binary package name.
+
+The I<package-type> is the binary package type, usually B<deb>, another
+common value is B<udeb>.
+
+The I<section> and I<priority> match the binary package fields of the
+same name.
+
+The I<key-value-list> is a space separated I<key>B<=>I<value> list,
+and the currently known optional keys are:
+
+=over
+
+=item B<arch>
+
+The architecture restriction from the binary package B<Architecture>
+field, with spaces converted to ‘,’.
+
+=item B<profile>
+
+The normalized build-profile restriction formula from the binary package
+B<Build-Profile> field, with ORs converted to ‘+’ and ANDs to
+‘,’.
+
+=item B<protected>
+
+If the binary package is protected, this key will contain the value of the
+B<Protected> field, that is a B<yes> value.
+
+Supported since dpkg 1.20.1.
+
+=item B<essential>
+
+If the binary package is essential, this key will contain the value of the
+B<Essential> field, that is a B<yes> value.
+
+=back
+
+=item B<Files:> (required)
+
+=item B<Checksums-Sha1:> (required)
+
+=item B<Checksums-Sha256:> (required)
+
+=item S< >I<checksum> I<size> I<filename>
+
+These multiline fields contain a list of files with a checksum and size
+for each one.
+These fields have the same syntax and differ only in the checksum algorithm
+used: MD5 for B<Files>, SHA-1 for B<Checksums-Sha1> and SHA-256 for
+B<Checksums-Sha256>.
+
+The first line of the field value (the part on the same line as the field
+name followed by a colon) is always empty.
+The content of the field is expressed as continuation lines, one line per file.
+Each line consists of the checksum, a space, the file size, a space, and the
+file name.
+
+These fields list all files that make up the source package.
+The list of files in these fields must match the list of files in the
+other related fields.
+
+=back
+
+=head1 BUGS
+
+The B<Format> field conflates the format for the B<.dsc> file itself
+and the format of the extracted source package.
+
+=head1 SEE ALSO
+
+L<deb822(5)>,
+B<deb-src-control>(5),
+B<deb-version>(7),
+B<dpkg-source>(1).