dpkg
is a suite of programs for creating binary
package files and installing and removing them on Unix
systems.[1]
The binary packages are designed for the management of installed executable programs (usually compiled binaries) and their associated data, though source code examples and documentation are provided as part of some packages.
This manual describes the technical aspects of creating Debian
binary packages (.deb files). It documents the
behaviour of the package management programs
dpkg
, dselect
et al. and and the way
they interact with packages.
It also documents the interaction between
dselect
's core and the access method scripts it
uses to actually install the selected packages, and describes
how to create a new access method.
This manual does not go into detail about the options and usage of the package building and installation tools. It should therefore be read in conjuction with those programs' manpages.
The utility programs which are provided with dpkg
for managing various system configuration and similar issues,
such as update-rc.d
and
install-info
, are not described in detail here -
please see their manpages.
It does not describe the policy requirements imposed on Debian packages, such as the permissions on files and directories, documentation requirements, upload procedure, and so on. You should see the Debian packaging policy manual for these details. (Many of them will probably turn out to be helpful even if you don't plan to upload your package and make it available as part of the distribution.)
It is assumed that the reader is reasonably familiar with the
dpkg
System Administrators' manual.
Unfortunately this manual does not yet exist.
The Debian version of the FSF's GNU hello program is provided
as an example for people wishing to create Debian
packages. The Debian debmake
package is
recommended as a very helpful tool in creating and maintaining
Debian packages. However, while the tools and examples are
helpful, they do not replace the need to read and follow the
Policy and Programmer's Manual.