293 lines
31 KiB
HTML
293 lines
31 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Overview of Debian Maintainer Tools</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /><link rel="home" href="index.html" title="Debian Developer's Reference" /><link rel="up" href="index.html" title="Debian Developer's Reference" /><link rel="prev" href="l10n.html" title="Chapter 8. Internationalization and Translations" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. Overview of Debian Maintainer Tools</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="l10n.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="appendix" title="Appendix A. Overview of Debian Maintainer Tools"><div class="titlepage"><div><div><h2 class="title"><a id="tools"></a>Appendix A. Overview of Debian Maintainer Tools</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="tools.html#tools-core">A.1. Core tools</a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#dpkg-dev">A.1.1. <code class="systemitem">dpkg-dev</code></a></span></dt><dt><span class="section"><a href="tools.html#debconf">A.1.2. <code class="systemitem">debconf</code></a></span></dt><dt><span class="section"><a href="tools.html#fakeroot">A.1.3. <code class="systemitem">fakeroot</code></a></span></dt></dl></dd><dt><span class="section"><a href="tools.html#tools-lint">A.2. Package lint tools</a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#lintian">A.2.1. <code class="systemitem">lintian</code></a></span></dt><dt><span class="section"><a href="tools.html#debdiff">A.2.2. <span class="command"><strong>debdiff</strong></span></a></span></dt></dl></dd><dt><span class="section"><a href="tools.html#tools-helpers">A.3. Helpers for <code class="filename">debian/rules</code></a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#debhelper">A.3.1. <code class="systemitem">debhelper</code></a></span></dt><dt><span class="section"><a href="tools.html#dh-make">A.3.2. <code class="systemitem">dh-make</code></a></span></dt><dt><span class="section"><a href="tools.html#equivs">A.3.3. <code class="systemitem">equivs</code></a></span></dt></dl></dd><dt><span class="section"><a href="tools.html#tools-builders">A.4. Package builders</a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#cvs-buildpackage">A.4.1. <code class="systemitem">cvs-buildpackage</code></a></span></dt><dt><span class="section"><a href="tools.html#debootstrap">A.4.2. <code class="systemitem">debootstrap</code></a></span></dt><dt><span class="section"><a href="tools.html#pbuilder">A.4.3. <code class="systemitem">pbuilder</code></a></span></dt><dt><span class="section"><a href="tools.html#sbuild">A.4.4. <code class="systemitem">sbuild</code></a></span></dt></dl></dd><dt><span class="section"><a href="tools.html#uploaders">A.5. Package uploaders</a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#dupload">A.5.1. <code class="systemitem">dupload</code></a></span></dt><dt><span class="section"><a href="tools.html#dput">A.5.2. <code class="systemitem">dput</code></a></span></dt><dt><span class="section"><a href="tools.html#dcut">A.5.3. <span class="command"><strong>dcut</strong></span></a></span></dt></dl></dd><dt><span class="section"><a href="tools.html#tools-maint-automate">A.6. Maintenance automation</a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#devscripts">A.6.1. <code class="systemitem">devscripts</code></a></span></dt><dt><span class="section"><a href="tools.html#autotools-dev">A.6.2. <code class="systemitem">autotools-dev</code></a></span></dt><dt><span class="section"><a href="tools.html#dpkg-repack">A.6.3. <code class="systemitem">dpkg-repack</code></a></span></dt><dt><span class="section"><a href="tools.html#alien">A.6.4. <code class="systemitem">alien</code></a></span></dt><dt><span class="section"><a href="tools.html#debsums">A.6.5. <code class="systemitem">debsums</code></a></span></dt><dt><span class="section"><a href="tools.html#dpkg-dev-el">A.6.6. <code class="systemitem">dpkg-dev-el</code></a></span></dt><dt><span class="section"><a href="tools.html#dpkg-depcheck">A.6.7. <span class="command"><strong>dpkg-depcheck</strong></span></a></span></dt></dl></dd><dt><span class="section"><a href="tools.html#tools-porting">A.7. Porting tools</a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#quinn-diff">A.7.1. <code class="systemitem">quinn-diff</code></a></span></dt><dt><span class="section"><a href="tools.html#dpkg-cross">A.7.2. <code class="systemitem">dpkg-cross</code></a></span></dt></dl></dd><dt><span class="section"><a href="tools.html#tools-doc">A.8. Documentation and information</a></span></dt><dd><dl><dt><span class="section"><a href="tools.html#docbook-xml">A.8.1. <code class="systemitem">docbook-xml</code></a></span></dt><dt><span class="section"><a href="tools.html#debiandoc-sgml">A.8.2. <code class="systemitem">debiandoc-sgml</code></a></span></dt><dt><span class="section"><a href="tools.html#debian-keyring">A.8.3. <code class="systemitem">debian-keyring</code></a></span></dt><dt><span class="section"><a href="tools.html#debian-maintainers">A.8.4. <code class="systemitem">debian-maintainers</code></a></span></dt><dt><span class="section"><a href="tools.html#debview">A.8.5. <code class="systemitem">debview</code></a></span></dt></dl></dd></dl></div><p>
|
||
This section contains a rough overview of the tools available to maintainers.
|
||
The following is by no means complete or definitive, but just a guide to some
|
||
of the more popular tools.
|
||
</p><p>
|
||
Debian maintainer tools are meant to aid developers and free their time for
|
||
critical tasks. As Larry Wall says, there's more than one way to do it.
|
||
</p><p>
|
||
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 their duties of
|
||
maintainership. Nor is it meant to endorse any particular tool to the
|
||
exclusion of a competing tool.
|
||
</p><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. You can also see more info with the command
|
||
<span class="command"><strong>apt-cache show <em class="replaceable"><code>package-name</code></em></strong></span>.
|
||
</p><div class="section" title="A.1. Core tools"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tools-core"></a>A.1. Core tools</h2></div></div></div><p>
|
||
The following tools are pretty much required for any maintainer.
|
||
</p><div class="section" title="A.1.1. dpkg-dev"><div class="titlepage"><div><div><h3 class="title"><a id="dpkg-dev"></a>A.1.1. <code class="systemitem">dpkg-dev</code></h3></div></div></div><p>
|
||
<code class="systemitem">dpkg-dev</code> contains the tools (including
|
||
<span class="command"><strong>dpkg-source</strong></span>) required to unpack, build, and upload Debian
|
||
source packages. These utilities contain the fundamental, low-level
|
||
functionality required to create and manipulate packages; as such, they are
|
||
essential for any Debian maintainer.
|
||
</p></div><div class="section" title="A.1.2. debconf"><div class="titlepage"><div><div><h3 class="title"><a id="debconf"></a>A.1.2. <code class="systemitem">debconf</code></h3></div></div></div><p>
|
||
<code class="systemitem">debconf</code> provides a consistent interface
|
||
to configuring packages interactively. It is user interface independent,
|
||
allowing end-users to configure packages with a text-only interface, an HTML
|
||
interface, or a dialog interface. New interfaces can be added as modules.
|
||
</p><p>
|
||
You can find documentation for this package in the <code class="systemitem">debconf-doc</code> package.
|
||
</p><p>
|
||
Many feel that this system should be used for all packages which require
|
||
interactive configuration; see <a class="xref" href="best-pkging-practices.html#bpp-config-mgmt" title="6.5. Configuration management with debconf">Section 6.5, “Configuration management with <code class="systemitem">debconf</code>”</a>. <code class="systemitem">debconf</code> is not currently required by Debian Policy,
|
||
but that may change in the future.
|
||
</p></div><div class="section" title="A.1.3. fakeroot"><div class="titlepage"><div><div><h3 class="title"><a id="fakeroot"></a>A.1.3. <code class="systemitem">fakeroot</code></h3></div></div></div><p>
|
||
<code class="systemitem">fakeroot</code> simulates root privileges.
|
||
This enables you to build packages without being root (packages usually want to
|
||
install files with root ownership). If you have <code class="systemitem">fakeroot</code> installed, you can build packages as a
|
||
regular user: <code class="literal">dpkg-buildpackage -rfakeroot</code>.
|
||
</p></div></div><div class="section" title="A.2. Package lint tools"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tools-lint"></a>A.2. Package lint tools</h2></div></div></div><p>
|
||
According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is a
|
||
Unix C language processor which carries out more thorough checks on the code
|
||
than is usual with C compilers. Package lint tools help package maintainers by
|
||
automatically finding common problems and policy violations in their packages.
|
||
</p><div class="section" title="A.2.1. lintian"><div class="titlepage"><div><div><h3 class="title"><a id="lintian"></a>A.2.1. <code class="systemitem">lintian</code></h3></div></div></div><p>
|
||
<code class="systemitem">lintian</code> dissects Debian packages and
|
||
emits information about bugs and policy violations. It contains automated
|
||
checks for many aspects of Debian policy as well as some checks for common
|
||
errors.
|
||
</p><p>
|
||
You should periodically get the newest <code class="systemitem">lintian</code> from <code class="literal">unstable</code> and check
|
||
over all your packages. Notice that the <code class="literal">-i</code> option provides
|
||
detailed explanations of what each error or warning means, what its basis in
|
||
Policy is, and commonly how you can fix the problem.
|
||
</p><p>
|
||
Refer to <a class="xref" href="pkgs.html#sanitycheck" title="5.3. Testing the package">Section 5.3, “Testing the package”</a> for more information on how and when to
|
||
use Lintian.
|
||
</p><p>
|
||
You can also see a summary of all problems reported by Lintian on your packages
|
||
at <a class="ulink" href="http://lintian.debian.org/" target="_top">http://lintian.debian.org/</a>. These reports contain the
|
||
latest <span class="command"><strong>lintian</strong></span> output for the whole development distribution
|
||
(<code class="literal">unstable</code>).
|
||
</p></div><div class="section" title="A.2.2. debdiff"><div class="titlepage"><div><div><h3 class="title"><a id="debdiff"></a>A.2.2. <span class="command"><strong>debdiff</strong></span></h3></div></div></div><p>
|
||
<span class="command"><strong>debdiff</strong></span> (from the <code class="systemitem">devscripts</code> package, <a class="xref" href="tools.html#devscripts" title="A.6.1. devscripts">Section A.6.1, “<code class="systemitem">devscripts</code>”</a>)
|
||
compares file lists and control files of two packages. It is a simple
|
||
regression test, as it will help you notice if the number of binary packages
|
||
has changed since the last upload, or if something has changed in the control
|
||
file. Of course, some of the changes it reports will be all right, but it can
|
||
help you prevent various accidents.
|
||
</p><p>
|
||
You can run it over a pair of binary packages:
|
||
</p><pre class="screen">
|
||
debdiff package_1-1_arch.deb package_2-1_arch.deb
|
||
</pre><p>
|
||
Or even a pair of changes files:
|
||
</p><pre class="screen">
|
||
debdiff package_1-1_arch.changes package_2-1_arch.changes
|
||
</pre><p>
|
||
For more information please see <span class="citerefentry"><span class="refentrytitle">debdiff</span>(1)</span>.
|
||
</p></div></div><div class="section" title="A.3. Helpers for debian/rules"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tools-helpers"></a>A.3. Helpers for <code class="filename">debian/rules</code></h2></div></div></div><p>
|
||
Package building tools make the process of writing
|
||
<code class="filename">debian/rules</code> files easier. See <a class="xref" href="best-pkging-practices.html#helper-scripts" title="6.1.1. Helper scripts">Section 6.1.1, “Helper scripts”</a> for more information about why these might or might
|
||
not be desired.
|
||
</p><div class="section" title="A.3.1. debhelper"><div class="titlepage"><div><div><h3 class="title"><a id="debhelper"></a>A.3.1. <code class="systemitem">debhelper</code></h3></div></div></div><p>
|
||
<code class="systemitem">debhelper</code> is a collection of programs
|
||
which can be used in <code class="filename">debian/rules</code> to automate common tasks
|
||
related to building binary Debian packages. <code class="systemitem">debhelper</code> includes programs to install various
|
||
files into your package, compress files, fix file permissions, and integrate
|
||
your package with the Debian menu system.
|
||
</p><p>
|
||
Unlike some approaches, <code class="systemitem">debhelper</code> is
|
||
broken into several small, simple commands which act in a consistent manner.
|
||
As such, it allows more fine-grained control than some of the other
|
||
debian/rules tools.
|
||
</p><p>
|
||
There are a number of little <code class="systemitem">debhelper</code>
|
||
add-on packages, too transient to document. You can see the list of most of
|
||
them by doing <code class="literal">apt-cache search ^dh-</code>.
|
||
</p></div><div class="section" title="A.3.2. dh-make"><div class="titlepage"><div><div><h3 class="title"><a id="dh-make"></a>A.3.2. <code class="systemitem">dh-make</code></h3></div></div></div><p>
|
||
The <code class="systemitem">dh-make</code> package contains
|
||
<span class="command"><strong>dh_make</strong></span>, a program that creates a skeleton of files
|
||
necessary to build a Debian package out of a source tree. As the name
|
||
suggests, <span class="command"><strong>dh_make</strong></span> is a rewrite of <code class="systemitem">debmake</code> and its template files use <span class="command"><strong>dh_*</strong></span> programs
|
||
from <code class="systemitem">debhelper</code>.
|
||
</p><p>
|
||
While the rules files generated by <span class="command"><strong>dh_make</strong></span> are in general a
|
||
sufficient basis for a working package, they are still just the groundwork: the
|
||
burden still lies on the maintainer to finely tune the generated files and make
|
||
the package entirely functional and Policy-compliant.
|
||
</p></div><div class="section" title="A.3.3. equivs"><div class="titlepage"><div><div><h3 class="title"><a id="equivs"></a>A.3.3. <code class="systemitem">equivs</code></h3></div></div></div><p>
|
||
<code class="systemitem">equivs</code> is another package for making
|
||
packages. It is often suggested for local use if you need to make a package
|
||
simply to fulfill dependencies. It is also sometimes used when making
|
||
``meta-packages'', which are packages whose only purpose is to depend on other
|
||
packages.
|
||
</p></div></div><div class="section" title="A.4. Package builders"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tools-builders"></a>A.4. Package builders</h2></div></div></div><p>
|
||
The following packages help with the package building process, general driving
|
||
<span class="command"><strong>dpkg-buildpackage</strong></span> as well as handling supporting tasks.
|
||
</p><div class="section" title="A.4.1. cvs-buildpackage"><div class="titlepage"><div><div><h3 class="title"><a id="cvs-buildpackage"></a>A.4.1. <code class="systemitem">cvs-buildpackage</code></h3></div></div></div><p>
|
||
<code class="systemitem">cvs-buildpackage</code> 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.
|
||
</p><p>
|
||
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 <code class="literal">stable</code>, <code class="literal">unstable</code> and possibly
|
||
<code class="literal">experimental</code> distributions, along with the other benefits
|
||
of a version control system.
|
||
</p></div><div class="section" title="A.4.2. debootstrap"><div class="titlepage"><div><div><h3 class="title"><a id="debootstrap"></a>A.4.2. <code class="systemitem">debootstrap</code></h3></div></div></div><p>
|
||
The <code class="systemitem">debootstrap</code> 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><p>
|
||
Having a system like this can be useful in many ways. For instance, you can
|
||
<span class="command"><strong>chroot</strong></span> into it if you want to test your build dependencies.
|
||
Or you can test how your package behaves when installed into a bare base
|
||
system. Chroot builders use this package; see below.
|
||
</p></div><div class="section" title="A.4.3. pbuilder"><div class="titlepage"><div><div><h3 class="title"><a id="pbuilder"></a>A.4.3. <code class="systemitem">pbuilder</code></h3></div></div></div><p>
|
||
<code class="systemitem">pbuilder</code> constructs a chrooted system,
|
||
and builds a package inside the chroot. It is very useful to check that a
|
||
package's build-dependencies are correct, and to be sure that unnecessary and
|
||
wrong build dependencies will not exist in the resulting package.
|
||
</p><p>
|
||
A related package is <code class="systemitem">pbuilder-uml</code>,
|
||
which goes even further by doing the build within a User Mode Linux
|
||
environment.
|
||
</p></div><div class="section" title="A.4.4. sbuild"><div class="titlepage"><div><div><h3 class="title"><a id="sbuild"></a>A.4.4. <code class="systemitem">sbuild</code></h3></div></div></div><p>
|
||
<code class="systemitem">sbuild</code> is another automated builder.
|
||
It can use chrooted environments as well. It can be used stand-alone, or as
|
||
part of a networked, distributed build environment. As the latter, it is part
|
||
of the system used by porters to build binary packages for all the available
|
||
architectures. See <a class="xref" href="pkgs.html#wanna-build" title="5.10.3.3. wanna-build">Section 5.10.3.3, “<code class="systemitem">wanna-build</code>”</a> for more information, and
|
||
<a class="ulink" href="http://buildd.debian.org/" target="_top">http://buildd.debian.org/</a> to see the system in action.
|
||
</p></div></div><div class="section" title="A.5. Package uploaders"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="uploaders"></a>A.5. Package uploaders</h2></div></div></div><p>
|
||
The following packages help automate or simplify the process of uploading
|
||
packages into the official archive.
|
||
</p><div class="section" title="A.5.1. dupload"><div class="titlepage"><div><div><h3 class="title"><a id="dupload"></a>A.5.1. <code class="systemitem">dupload</code></h3></div></div></div><p>
|
||
<code class="systemitem">dupload</code> is a package and a script to
|
||
automatically 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.
|
||
</p></div><div class="section" title="A.5.2. dput"><div class="titlepage"><div><div><h3 class="title"><a id="dput"></a>A.5.2. <code class="systemitem">dput</code></h3></div></div></div><p>
|
||
The <code class="systemitem">dput</code> package and script does much
|
||
the same thing as <code class="systemitem">dupload</code>, but in a
|
||
different way. It has some features over <code class="systemitem">dupload</code>, such as the ability to check the GnuPG
|
||
signature and checksums before uploading, and the possibility of running
|
||
<span class="command"><strong>dinstall</strong></span> in dry-run mode after the upload.
|
||
</p></div><div class="section" title="A.5.3. dcut"><div class="titlepage"><div><div><h3 class="title"><a id="dcut"></a>A.5.3. <span class="command"><strong>dcut</strong></span></h3></div></div></div><p>
|
||
The <span class="command"><strong>dcut</strong></span> script (part of the package <code class="systemitem">dput</code>,
|
||
<a class="xref" href="tools.html#dput" title="A.5.2. dput">Section A.5.2, “<code class="systemitem">dput</code>”</a>) helps in removing files from the ftp upload directory.
|
||
</p></div></div><div class="section" title="A.6. Maintenance automation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tools-maint-automate"></a>A.6. Maintenance automation</h2></div></div></div><p>
|
||
The following tools help automate different maintenance tasks, from adding
|
||
changelog entries or signature lines and looking up bugs in Emacs to making use
|
||
of the newest and official <code class="filename">config.sub</code>.
|
||
</p><div class="section" title="A.6.1. devscripts"><div class="titlepage"><div><div><h3 class="title"><a id="devscripts"></a>A.6.1. <code class="systemitem">devscripts</code></h3></div></div></div><p>
|
||
<code class="systemitem">devscripts</code> is a package containing
|
||
wrappers and tools which are very helpful for maintaining your Debian packages.
|
||
Example scripts include <span class="command"><strong>debchange</strong></span> and
|
||
<span class="command"><strong>dch</strong></span>, which manipulate your
|
||
<code class="filename">debian/changelog</code> file from the command-line, and
|
||
<span class="command"><strong>debuild</strong></span>, which is a wrapper around
|
||
<span class="command"><strong>dpkg-buildpackage</strong></span>. The <span class="command"><strong>bts</strong></span> utility is
|
||
also very helpful to update the state of bug reports on the command line.
|
||
<span class="command"><strong>uscan</strong></span> can be used to watch for new upstream versions of your
|
||
packages. <span class="command"><strong>debrsign</strong></span> can be used to remotely sign a package
|
||
prior to upload, which is nice when the machine you build the package on is
|
||
different from where your GPG keys are.
|
||
</p><p>
|
||
See the <span class="citerefentry"><span class="refentrytitle">devscripts</span>(1)</span> manual page for a complete list of
|
||
available scripts.
|
||
</p></div><div class="section" title="A.6.2. autotools-dev"><div class="titlepage"><div><div><h3 class="title"><a id="autotools-dev"></a>A.6.2. <code class="systemitem">autotools-dev</code></h3></div></div></div><p>
|
||
<code class="systemitem">autotools-dev</code> contains best practices
|
||
for people who maintain packages which use <span class="command"><strong>autoconf</strong></span> and/or
|
||
<span class="command"><strong>automake</strong></span>. Also contains canonical
|
||
<code class="filename">config.sub</code> and <code class="filename">config.guess</code> files
|
||
which are known to work on all Debian ports.
|
||
</p></div><div class="section" title="A.6.3. dpkg-repack"><div class="titlepage"><div><div><h3 class="title"><a id="dpkg-repack"></a>A.6.3. <code class="systemitem">dpkg-repack</code></h3></div></div></div><p>
|
||
<span class="command"><strong>dpkg-repack</strong></span> creates Debian package file out of a package
|
||
that has already been installed. If any changes have been made to the package
|
||
while it was unpacked (e.g., files in <code class="filename">/etc</code> were modified),
|
||
the new package will inherit the changes.
|
||
</p><p>
|
||
This utility can make it easy to copy packages from one computer to another, or
|
||
to recreate packages which are installed on your system but no longer available
|
||
elsewhere, or to save the current state of a package before you upgrade it.
|
||
</p></div><div class="section" title="A.6.4. alien"><div class="titlepage"><div><div><h3 class="title"><a id="alien"></a>A.6.4. <code class="systemitem">alien</code></h3></div></div></div><p>
|
||
<span class="command"><strong>alien</strong></span> converts binary packages between various packaging
|
||
formats, including Debian, RPM (RedHat), LSB (Linux Standard Base), Solaris,
|
||
and Slackware packages.
|
||
</p></div><div class="section" title="A.6.5. debsums"><div class="titlepage"><div><div><h3 class="title"><a id="debsums"></a>A.6.5. <code class="systemitem">debsums</code></h3></div></div></div><p>
|
||
<span class="command"><strong>debsums</strong></span> checks installed packages against their MD5 sums.
|
||
Note that not all packages have MD5 sums, since they aren't required by Policy.
|
||
</p></div><div class="section" title="A.6.6. dpkg-dev-el"><div class="titlepage"><div><div><h3 class="title"><a id="dpkg-dev-el"></a>A.6.6. <code class="systemitem">dpkg-dev-el</code></h3></div></div></div><p>
|
||
<code class="systemitem">dpkg-dev-el</code> is an Emacs lisp package
|
||
which provides assistance when editing some of the files in the
|
||
<code class="filename">debian</code> directory of your package. For instance, there are
|
||
handy functions for listing a package's current bugs, and for finalizing the
|
||
latest entry in a <code class="filename">debian/changelog</code> file.
|
||
</p></div><div class="section" title="A.6.7. dpkg-depcheck"><div class="titlepage"><div><div><h3 class="title"><a id="dpkg-depcheck"></a>A.6.7. <span class="command"><strong>dpkg-depcheck</strong></span></h3></div></div></div><p>
|
||
<span class="command"><strong>dpkg-depcheck</strong></span> (from the <code class="systemitem">devscripts</code> package, <a class="xref" href="tools.html#devscripts" title="A.6.1. devscripts">Section A.6.1, “<code class="systemitem">devscripts</code>”</a>)
|
||
runs a command under <span class="command"><strong>strace</strong></span> to determine all the packages
|
||
that were used by the said command.
|
||
</p><p>
|
||
For Debian packages, this is useful when you have to compose a
|
||
<code class="literal">Build-Depends</code> line for your new package: running the build
|
||
process through <span class="command"><strong>dpkg-depcheck</strong></span> will provide you with a good
|
||
first approximation of the build-dependencies. For example:
|
||
</p><pre class="screen">
|
||
dpkg-depcheck -b debian/rules build
|
||
</pre><p>
|
||
<span class="command"><strong>dpkg-depcheck</strong></span> can also be used to check for run-time
|
||
dependencies, especially if your package uses <span class="citerefentry"><span class="refentrytitle">exec</span>(2)</span>
|
||
to run other programs.
|
||
</p><p>
|
||
For more information please see <span class="citerefentry"><span class="refentrytitle">dpkg-depcheck</span>(1)</span>.
|
||
</p></div></div><div class="section" title="A.7. Porting tools"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tools-porting"></a>A.7. Porting tools</h2></div></div></div><p>
|
||
The following tools are helpful for porters and for cross-compilation.
|
||
</p><div class="section" title="A.7.1. quinn-diff"><div class="titlepage"><div><div><h3 class="title"><a id="quinn-diff"></a>A.7.1. <code class="systemitem">quinn-diff</code></h3></div></div></div><p>
|
||
<code class="systemitem">quinn-diff</code> is used to locate the
|
||
differences from one architecture to another. For instance, it could tell you
|
||
which packages need to be ported for architecture <em class="replaceable"><code>Y</code></em>,
|
||
based on architecture <em class="replaceable"><code>X</code></em>.
|
||
</p></div><div class="section" title="A.7.2. dpkg-cross"><div class="titlepage"><div><div><h3 class="title"><a id="dpkg-cross"></a>A.7.2. <code class="systemitem">dpkg-cross</code></h3></div></div></div><p>
|
||
<code class="systemitem">dpkg-cross</code> is a tool for installing
|
||
libraries and headers for cross-compiling in a way similar to <code class="systemitem">dpkg</code>. Furthermore, the functionality of
|
||
<span class="command"><strong>dpkg-buildpackage</strong></span> and <span class="command"><strong>dpkg-shlibdeps</strong></span> is
|
||
enhanced to support cross-compiling.
|
||
</p></div></div><div class="section" title="A.8. Documentation and information"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tools-doc"></a>A.8. Documentation and information</h2></div></div></div><p>
|
||
The following packages provide information for maintainers or help with
|
||
building documentation.
|
||
</p><div class="section" title="A.8.1. docbook-xml"><div class="titlepage"><div><div><h3 class="title"><a id="docbook-xml"></a>A.8.1. <code class="systemitem">docbook-xml</code></h3></div></div></div><p>
|
||
<code class="systemitem">docbook-xml</code> provides the
|
||
DocBook XML DTDs, which are commonly used for Debian documentation (as
|
||
is the older debiandoc SGML DTD). This manual, for instance, is
|
||
written in DocBook XML.
|
||
</p><p>
|
||
The <code class="systemitem">docbook-xsl</code> package
|
||
provides the XSL files for building and styling the source to various
|
||
output formats. You will need an XSLT processor, such as <code class="systemitem">xsltproc</code>, to use the XSL stylesheets.
|
||
Documentation for the stylesheets can be found in the various
|
||
<code class="systemitem">docbook-xsl-doc-*</code> packages.
|
||
</p><p>
|
||
To produce PDF from FO, you need an FO processor, such as <code class="systemitem">xmlroff</code> or <code class="systemitem">fop</code>. Another tool to generate PDF from
|
||
DocBook XML is <code class="systemitem">dblatex</code>.
|
||
</p></div><div class="section" title="A.8.2. debiandoc-sgml"><div class="titlepage"><div><div><h3 class="title"><a id="debiandoc-sgml"></a>A.8.2. <code class="systemitem">debiandoc-sgml</code></h3></div></div></div><p>
|
||
<code class="systemitem">debiandoc-sgml</code> provides the DebianDoc
|
||
SGML DTD, which is commonly used for Debian documentation,
|
||
but is now deprecated
|
||
(<code class="systemitem">docbook-xml</code>
|
||
should be used instead).
|
||
It also provides scripts for building and
|
||
styling the source to various output formats.
|
||
</p><p>
|
||
Documentation for the DTD can be found in the <code class="systemitem">debiandoc-sgml-doc</code> package.
|
||
</p></div><div class="section" title="A.8.3. debian-keyring"><div class="titlepage"><div><div><h3 class="title"><a id="debian-keyring"></a>A.8.3. <code class="systemitem">debian-keyring</code></h3></div></div></div><p>
|
||
Contains the public GPG and PGP keys of Debian developers. See <a class="xref" href="developer-duties.html#key-maint" title="3.2.2. Maintaining your public key">Section 3.2.2, “Maintaining your public key”</a> and the package documentation for more information.
|
||
</p></div><div class="section" title="A.8.4. debian-maintainers"><div class="titlepage"><div><div><h3 class="title"><a id="debian-maintainers"></a>A.8.4. <code class="systemitem">debian-maintainers</code></h3></div></div></div><p>
|
||
Contains the public GPG keys of Debian Maintainers.
|
||
See <a class="ulink" href="http://wiki.debian.org/DebianMaintainer" target="_top">http://wiki.debian.org/DebianMaintainer</a> for more information.
|
||
</p></div><div class="section" title="A.8.5. debview"><div class="titlepage"><div><div><h3 class="title"><a id="debview"></a>A.8.5. <code class="systemitem">debview</code></h3></div></div></div><p>
|
||
<code class="systemitem">debview</code> provides an Emacs mode for
|
||
viewing Debian binary packages. This lets you examine a package without
|
||
unpacking it.
|
||
</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="l10n.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Chapter 8. Internationalization and Translations </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
|