This section contains a rough overview of the tools available to maintainers. These tools are meant to help convenience developers and free their time for critical tasks.
Some people prefer to use high-level package maintenance tools and some do not. Debian is officially agnostic on this issue; any tool which gets the job done is fine. Therefore, this section is not meant to stipulate to anyone which tools they should use or how they should go about with their duties of maintainership. Nor is it meant to endorse any particular tool to the exclusion of a competing tool.
Most of the descriptions of these packages come from the actual package descriptions themselves. Further information can be found in the package documentation itself.
dpkg-dev
dpkg-dev
contains the tools (including
dpkg-source
) required to unpack, build and upload Debian source
packages. These utilities contain the fundamental, low-level
functionality required to create and manipulated packages; as such,
they are required for any Debian maintainer.
lintian
Lintian
dissects Debian packages and reports bugs and
policy violations. It contains automated checks for many aspects of
Debian policy as well as some checks for common errors. The use of
lintian
has already been discussed in Checking the package prior to upload, subsection 6.2.3 and Lintian reports, section 10.5.
debhelper
debhelper
is a collection of programs that can be used in
debian/rules
to automate common tasks related to building
binary Debian packages. Programs are included to install various files
into your package, compress files, fix file permissions, integrate
your package with the Debian menu system.
Unlike debmake
, debhelper
is broken into
several small, granular commands which act in a consistent manner. As
such, it allows a greater granularity of control than
debmake
.
debmake
debmake
, a pre-cursor to debhelper
, is a
less granular debian/rules
assistant. It includes two main
programs: deb-make
, which can be used to help a
maintainer convert a regular (non-Debian) source archive into a Debian
source package; and debstd
, which incorporates in one big
shot the same sort of automated functions that one finds in
debhelper
.
The consensus is that debmake
is now deprecated in
favor of debhelper
. However, it's not a bug to use
debmake
.
cvs-buildpackage
cvs-buildpackage
provides the capability to inject or
import Debian source packages into a CVS repository, build a Debian
package from the CVS repository, and helps in integrating upstream
changes into the repository.
These utilities provide an infrastructure to facilitate the use of CVS by Debian maintainers. This allows one to keep separate CVS branches of a package for stable, unstable, and possibly experimental distributions, along with the other benefits of a version control system.
dupload
dupload
is a package and a script to automagically upload
Debian packages to the Debian archive, to log the upload, and to send
mail about the upload of a package. You can configure it for new
upload locations or methods.
fakeroot
fakeroot
simulates root privileges. This enables
you to build packages without being root (packages usually want to
install files with root ownership). If you have
fakeroot
installed, you can say, i.e.,
dpkg-buildpackage -rfakeroot as a user.
Note that fakeroot
is being replaced by
libtool
in ``potato''.
devscripts
devscripts
is a package containing a few wrappers
and tools which you may find helpful for maintaining your Debian
packages. Example scripts include debchange
, which will
manipulate your debian/changelog
file from the
command-line, and build
, which is a wrapper around
dpkg-buildpackage
.