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, Section 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
.
yada
yada
is a new packaging helper tool with a slightly different
philosophy. It uses a debian/packages
file to auto-generate other
necessary files in the debian/
subdirectory.
Note that yada
is still quite new and possibly not yet as robust
as other systems.
equivs
equivs
is another package for making packages. It is often
suggested for local use if you need to make a package simply to fulfill
dependancies. It is also sometimes used when making ``meta-packages'', which
are packages whose only purpose is to depend on other packages.
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.
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
debuild
, which is a wrapper around dpkg-buildpackage
.
debget
debget
is a package containing a convenient script which can be
helpful in downloading files from the Debian archive. You can use it to
download source packages, for instance.
aph@debian.org
schwarz@debian.org
ijackson@gnu.ai.mit.edu