<!entity % commondata SYSTEM "common.ent" > %commondata;
<!-- CVS revision of this document -->
- <!entity cvs-rev "$Revision: 1.156 $">
+ <!entity cvs-rev "$Revision: 1.165 $">
<!-- if you are translating this document, please notate the CVS
revision of the developers reference here -->
<!--
]>
<debiandoc>
-<!--
- TODO:
- - bugs in upstream versions should be reported upstream!
- - add information on how to get accounts on different architectures
- - talk about CVS access, other ways to submit problems
- - add information on how you can contribute w/o being an official
- developer
- - "official port maintainer" ? (cf. glibc-pre2.1)
- -->
-
<book>
-
<title>Debian Developer's Reference
+
<author>Adam Di Carlo, current maintainer <email>aph@debian.org</email>
<author>Raphaël Hertzog, co-maintainer <email>hertzog@debian.org</email>
<author>Christian Schwarz <email>schwarz@debian.org</email>
<copyright>
<copyrightsummary>
-copyright © 1998—2002 Adam Di Carlo</copyrightsummary>
+copyright © 1998—2003 Adam Di Carlo</copyrightsummary>
<copyrightsummary>
copyright © 2002 Raphaël Hertzog</copyrightsummary>
<copyrightsummary>
about licenses, bugs, etc. or discussing the project with others where it
might be useful to have the discussion archived somewhere.
+
<sect id="irc-channels">IRC channels
<p>
Several IRC channels are dedicated to Debian's development. They are mainly
hosted on the <url id="&url-openprojects;" name="freenode"> network
(previously known as Open Projects Network).
The <tt>irc.debian.org</tt> DNS entry is an alias to
-<tt>irc.openprojects.net</tt>.
+<tt>irc.freenode.net</tt>.
<p>
The main channel for Debian in general is <em>#debian</em>. This is a large,
general-purpose channel where users can find recent news in the topic and
Some non-English developers' channels exist as well, for example
<em>#debian-devel-fr</em> for
French speaking people interested in Debian's development.
+ <p>
+Channels dedicated to Debian also exist on other IRC networks, notably on
+the <url name="Open and free technology community (OFTC)"
+id="http://www.oftc.net/"> IRC network.
<sect id="doc-rsrcs">Documentation
<p>
The Developers Database, at <url id="&url-debian-db;">, is an LDAP
directory for managing Debian developer attributes. You can use this
-resource to search the list of Debian developers. For information on
-keeping your entry the developer database up-to-date, see <ref
-id="user-maint">. Part of this information is also available through
+resource to search the list of Debian developers.
+Part of this information is also available through
the finger service on Debian servers, try
<prgn>finger yourlogin@db.debian.org</prgn> to see what it reports.
<p>
-This database lets you register some other information like public SSH
-keys that will be automatically installed on the official debian machines
-or like *.debian.net DNS entry. Those features are documented
-at <url id="&url-debian-db-mail-gw;">.
+Developers can <url name="log into the database" id="&url-debian-db-login;">
+to change their debian-private list subscription, their personal
+information, to mark themselves on vacation, etc.
+For more information on keeping your entry the developer database
+up-to-date, please see <ref id="user-maint">.
+ <p>
+One can also submit their SSH keys to be used for authorization on the
+official Debian machines, and even add new *.debian.net DNS entries.
+Those features are documented at <url id="&url-debian-db-mail-gw;">.
<sect id="archive">The Debian archive
if they respect themselves all the criteria);
</list>
<p>
-The scripts are generating some output files to explain why some packages
-are kept out of testing. They are available at <url
-id="&url-testing-maint;">. Alternatively, it is possible to use
-the <prgn>grep-excuses</prgn> program which is in the
-<package>devscripts</package> package. It can be easily put in a
-<manref name="crontab" section="5">
-to keep someone informed of the progression of his packages in <em>testing</em>.
+To find out whether a package is progressing into testing or not, see the
+testing script output on the <url name="web page of the testing distribution"
+id="&url-testing-maint;">, or use the program <prgn>grep-excuses</prgn>
+which is in the <package>devscripts</package> package. This utility can
+easily be used in a <manref name="crontab" section="5"> to keep one
+informed of the progression of their packages into <em>testing</em>.
<p>
The <file>update_excuses</file> file does not always give the precise reason
why the package is refused, one may have to find it on their own by looking
what would break with the inclusion of the package. The <url
-id="&url-testing-maint;" name="testing overview"> gives some more information
+id="&url-testing-maint;" name="testing web page"> gives some more information
about the usual problems which may be causing such troubles.
<p>
Sometimes, some packages never enter <em>testing</em> because the set of
inter-relationship is too complicated and can not be sorted out
by the scripts. In that case, the release manager must be
contacted, and he will force the inclusion of the packages.
+ <p>
+In general, please refer to the <url name="testing web page"
+id="&url-testing-maint;"> for more information. It also includes
+answers to some of the frequently asked questions.
<sect id="pkg-info">Package information
<p>
<item>
CVS commits if the maintainer has setup a system to forward commit
notification to the PTS.
+
+ <tag><tt>ddtp</tt>
+ <item>
+Translations of descriptions or debconf templates
+submitted to the Debian Description Translation Project.
</taglist>
<sect1 id="pts-commands">The PTS email interface
<email>control@bugs.debian.org</email>
<item><tt>summary</tt>: automatic summary mails about the state of a package
<item><tt>cvs</tt>: notification of CVS commits
+ <item><tt>ddtp</tt>: translations of descriptions and debconf templates
<item><tt>upload-source</tt>: announce of a new source upload that
has been accepted
<item><tt>upload-binary</tt>: announce of a new binary-only upload (porting)
<p>
Review and test your changes as much as possible. Check the
differences from the previous version repeatedly
-(<prgn>interdiff</prgn> and <prgn>debdiff</prgn> are useful tools for
+(<prgn>interdiff</prgn> from the <package>patchutils</package> package
+and <prgn>debdiff</prgn> from <package>devscripts</package> are useful tools for
this).
When packaging the fix, keep the following points in mind:
<sect1 id="multiple-patches">
- <heading>Patching source versus patching at build time</heading>
+ <heading>Separating your patches into multiple files</heading>
<p>
Big, complex packages may have many bugs that you need to deal with.
If you correct a number of bug directly in the source, if you're not
<file>.diff.gz</file>) and work out which patch sets to back out as a
unit as bugs are fixed upstream.
<p>
-One good solution is to keep separate patches under the
-<file>debian</file> directory and apply the patches at build time. The
-<package>dbs</package> package provides an convenient means for
-applying patches at build time (and unapplying them at clean time).
-<package>dbs</package> also provides facilities for creating the
-patches and keeping track of what they are for. As always when using
-maintainer tools, you'll have to read the accompanying documentation.
-The package <package>hello-dbs</package> is a simple example that
-demonstrates how to use <package>dbs</package>.
+Unfortunately, the packaging system as such currently doesn't provide for
+separating the patches into several files. Nevertheless, there are ways to
+separate patches: the patch files are shipped within the Debian patch file
+(<file>.diff.gz</file>), usually within the <file>debian/</file> directory.
+The only difference is that they aren't applied immediately by dpkg-source,
+but by the <tt>build</tt> rule of <file>debian/rules</file>. Conversely,
+they are reverted in the <tt>clean</tt> rule.
+ <p>
+<prgn>dbs</prgn> is one of the more popular approaches to this. It does all
+of the above, and provides a facility for creating new and updating old
+patches. See the package <package>dbs</package> for more information and
+<package>hello-dbs</package> for an example.
+ <p>
+<prgn>dpatch</prgn> also provides these facilities, but it's intented to be
+even easier to use. See the package <package>dpatch</package> for
+documentation and examples (in <file>/usr/share/doc/dpatch</file>).
<sect1 id="multiple-binary">Multiple binary packages
options. The <package>vim</package> is an example of how to manage
this using an hand-crafted <file>debian/rules</file> file.
-<!-- &FIXME; Find a good debhelper example with multile configure/make
+<!-- &FIXME; Find a good debhelper example with multiple configure/make
cycles -->
</sect1>
</sect>
passed as an argument. It returns true (zero) if the command was
found, and false if not. This is really the most portable way, since
<tt>command -v</tt>, <prgn>type</prgn>, and <prgn>which</prgn> are not
-POSIX. While <prgn>which</prgn> is an acceptable alternative, since
+POSIX.
+ <p>
+While <prgn>which</prgn> is an acceptable alternative, since
it is from the required <package>debianutils</package> package, it's
-not on the root partition, although that is probably not something
-that will cause a problem.
+not on the root partition. That is, it's in <file>/usr/bin</file> rather
+than <file>/bin</file>, so one can't use it in scripts which are run
+before the <file>/usr</file> partition is mounted. Most scripts won't have
+this problem, though.
<sect id="bpp-debian-control">
apt-show-versions
pdbv
epm
+ apt-src
+ apt-build
rejected:
debaux: too new, unmaintained?