<!-- common, language independant entities -->
<!entity % commondata SYSTEM "common.ent" > %commondata;
<!-- CVS revision of this document -->
- <!entity cvs-rev "$Revision: 1.83 $">
+ <!entity cvs-rev "$Revision: 1.84 $">
<!-- if you are translating this document, please notate the RCS
revision of the developers reference here -->
<chapt id="tools">Overview of Debian Maintainer Tools
<p>
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.
+maintainers. The following is by no means complete or definitive, but
+just a guide to some of the more popular tools.
+ <p>
+Debian maintainer tools are meant to help convenience developers and
+free their time for critical tasks. As Larry Wall says, there's more
+than one way to do it.
<p>
Some people prefer to use high-level package maintenance tools and
some do not. Debian is officially agnostic on this issue; any tool
<p>
Most of the descriptions of these packages come from the actual
package descriptions themselves. Further information can be found in
-the package documentation itself.
+the package documentation itself. You can also see more info with the
+command <tt>apt-cache show <var>package_name</var></tt>.
<sect id="dpkg-dev">
<p>
<package>debconf</package> provides a consistent interface to
configuring packages interactively. It is user interface
-intedependant, allowing end-users to configure packages with a
+independant, allowing end-users to configure packages with a
text-only interface, an HTML interface, or a dialog interface. New
interfaces can be added modularly.
<p>
+You can find documentation for this package in the
+<package>debconf-doc</package> package.
+ <p>
Many feel that this system should be used for all packages requiring
interactive configuration. <package>debconf</package> is not
currently required by Debian Policy, however, that may change in the
future.
+ <p>
<sect id="debhelper">
various files into your package, compress files, fix file permissions,
integrate your package with the Debian menu system.
<p>
-Unlike <package>debmake</package>, <package>debhelper</package> is
-broken into several small, granular commands which act in a consistent
-manner. As such, it allows a greater granularity of control than
-<package>debmake</package>.
+Unlike some approaches, <package>debhelper</package> is broken into
+several small, granular commands which act in a consistent manner. As
+such, it allows a greater granularity of control than some of the
+other "debian/rules tools".
+ <p>
+There are a number of little <package>debhelper</package> add-on
+packages, too transient to document. You can see the list of most of
+them by doing <tt>apt-cache search ^dh-</tt>.
<sect id="debmake">
favor of <package>debhelper</package>. However, it's not a bug to use
<package>debmake</package>.
+
<sect id="yada">
<heading><package>yada</package>
<p>
considered deprecated.
-
<sect id="equivs">
<heading><package>equivs</package>
<p>
new upload locations or methods.
+ <sect id="dput">
+ <heading><package>dput</package>
+ <p>
+The <package>dput</package> package and script does much the same
+thing as <package>dupload</package>, but in a different way. It has
+some features over <package>dupload</package>, such as the ability to
+check the GnuPG signature and checksums before uploading, and the
+possibility of running <tt>dinstall</tt> in dry-run mode after the
+upload.
+
+
<sect id="fakeroot">
<heading><package>fakeroot</package>
<p>
<package>fakeroot</package> simulates root privileges. This enables
you to build packages without being root (packages usually want to
install files with root ownership). If you have
-<package>fakeroot</package> installed, you can say, i.e.,
-<tt>dpkg-buildpackage -rfakeroot</tt> as a user.
+<package>fakeroot</package> installed, you can build packages as a
+user: <tt>dpkg-buildpackage -rfakeroot</tt>.
+
+
+ <sect id="debootstrap">
+ <heading><package>debootstrap</package>
+ <p>
+The <package>debootstrap</package> package and script allows you to
+"bootstrap" a Debian base system into any part of your filesystem.
+By "base system", we mean the bare minimum of packages required to
+operate and install the rest of the system.
+ <p>
+Having a system link this can be useful in many ways. For instance,
+you can <prgn>chroot</prgn> into it if you want to test your build
+depends. Or, you can test how your package behaves when installed
+into a bare base system.
+
<sect id="devscripts">
<p>
<package>devscripts</package> is a package containing a few wrappers
and tools which you may find helpful for maintaining your Debian
-packages. Example scripts include <prgn>debchange</prgn>, which will
-manipulate your <file>debian/changelog</file> file from the
-command-line, and <prgn>debuild</prgn>, which is a wrapper around
-<prgn>dpkg-buildpackage</prgn>.
+packages. Example scripts include <prgn>debchange</prgn> and
+<prgn>dch</prgn>, which manipulate your <file>debian/changelog</file>
+file from the command-line, and <prgn>debuild</prgn>, which is a
+wrapper around <prgn>dpkg-buildpackage</prgn>.
<sect id="debget">
<p>
<package>debget</package> 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.
+You can use it to download source packages, for instance (although
+<tt>apt-get source <var>package</var></tt> does pretty much the same
+thing).
+