6.4 What is a Debian control file?
Specifics regarding the contents of a Debian control file are provided in the
Debian Policy Manual, section 5, see What other documentation exists on and
for a Debian system?, Section 11.1.
Briefly, a sample control file is shown below for the Debian package hello:
Package: hello
Priority: optional
Section: devel
Installed-Size: 45
Maintainer: Adam Heath <[email protected]>
Architecture: i386
Version: 1.3-16
Depends: libc6 (>= 2.1)
Description: The classic greeting, and a good example
The GNU hello program produces a familiar, friendly greeting. It
allows nonprogrammers to use a classic computer science tool which
would otherwise be unavailable to them.
.
Seriously, though: this is an example of how to do a Debian package.
It is the Debian version of the GNU Project's `hello world' program
(which is itself an example for the GNU Project).
The Package field gives the package name. This is the name by which the
package can be manipulated by the package tools, and usually similar to but not
necessarily the same as the first component string in the Debian archive file
name.
The Version field gives both the upstream developer's version number and (in
the last component) the revision level of the Debian package of this program as
explained in
Why are Debian package file names so long?,
Section 6.3.
The Architecture field specifies the chip for which this particular binary was
compiled.
The Depends field gives a list of packages that have to be installed in order
to install this package successfully.
The Installed-Size indicates how much disk space the installed package will
consume. This is intended to be used by installation front-ends in order to
show whether there is enough disk space available to install the program.
The Section line gives the "section" where this Debian package is
stored at the Debian FTP sites. This is the name of a subdirectory (within one
of the main directories, see
What
are all those directories at the Debian FTP archives?, Section 5.1) where
the package is stored.
The Priority indicates how important is this package for installation, so that
semi-intelligent software like dselect or console-apt can sort the package into
a category of e.g. packages optionally installed. See What is an Essential Required,
Important, Standard, Optional, or Extra
package?, Section 6.7.
The Maintainer field gives the e-mail address of the person who is currently
responsible for maintaining this package.
The Description field gives a brief summary of the package's features.
For more information about all possible fields a package can have, please see
the Debian Policy Manual, section 5., "Control files and their
fields".