<!ENTITY % commondata SYSTEM "common.ent" > %commondata;
<!-- CVS revision of this document -->
- <!ENTITY cvs-rev "$Revision: 1.220 $">
+ <!ENTITY cvs-rev "$Revision: 1.223 $">
+
<!-- if you are translating this document, please notate the CVS
- revision of the developers reference here -->
- <!--
- <!ENTITY cvs-en-rev "X.YY">
- -->
+ revision of the original developer's reference in cvs-en-rev -->
+ <!-- <!ENTITY cvs-en-rev "X.YZW"> -->
<!-- how to mark a section that needs more work -->
<!ENTITY FIXME "<em>FIXME:</em> ">
to verify your application (an <em>advocate</em>). After you have
contributed to Debian for a while, and you want to apply to become a
registered developer, an existing developer with whom you
-have worked over the past months has to express his belief that you
+have worked over the past months has to express their belief that you
can contribute to Debian successfully.
<p>
When you have found an advocate, have your GnuPG key signed and have
the package is installed into the archive. See <ref
id="upload-bugfix">.
<p>
-It is conventional that the changelog entry notating of a package that
+It is conventional that the changelog entry of a package that
contains a new upstream version of the software looks like this:
<example>
* new upstream version
released. See <ref id="bug-security"> for detailed information on
handling security problems.
<p>
-It is discouraged to change anything else in the package that isn't
-important, because even trivial fixes can cause bugs later on.
+Changing anything else in the package that isn't important is discouraged,
+because even trivial fixes can cause bugs later on.
<p>
Packages uploaded to <em>stable</em> need to be compiled on systems running
<em>stable</em>, so that their dependencies are limited to the libraries
if you use anonymous FTP to upload, place them into
&upload-queue;.
<p>
-If you want to use feature described in <ref id="delayed-incoming">,
+If you want to use the feature described in <ref id="delayed-incoming">,
you'll have to upload to <tt>ftp-master</tt>. It is the only upload
point that supports delayed incoming.
<p>
Decide whether the report corresponds to a real bug or not. Sometimes
users are just calling a program in the wrong way because they haven't
read the documentation. If you diagnose this, just close the bug with
-enough information to let the user correct his problem (give pointers
+enough information to let the user correct their problem (give pointers
to the good documentation and so on). If the same report comes up
again and again you may ask yourself if the documentation is good
enough or if the program shouldn't detect its misuse in order to
give an informative error message. This is an issue that may need
to be brought to the upstream author.
<p>
-If the bug submitter disagree with your decision to close the bug,
+If the bug submitter disagrees with your decision to close the bug,
they may reopen it until you find an agreement on how to handle it.
If you don't find any, you may want to tag the bug <tt>wontfix</tt>
to let people know that the bug exists but that it won't be corrected.
doing so, please read the <url id="&url-tech-ctte;" name="recommended procedure">.
<item>
If the bug is real but it's caused by another package, just reassign
-the bug the right package. If you don't know which package it should
+the bug to the right package. If you don't know which package it should
be reassigned to, you may either ask for help on &email-debian-devel; or
reassign it to <package>debian-policy</package> to let them decide which
-package is in fault.
+package is at fault.
<p>
Sometimes you also have to adjust the severity of the bug so that it
matches our definition of the severity. That's because people tend to
Some bugs may even be dropped to wishlist severity when the requested
change is just cosmetic.
<item>
-The bug submitter may have forgotten to provide some information, in that
-case you have to ask him the information required. You may use the
+The bug submitter may have forgotten to provide some information, in which
+case you have to ask them the required information. You may use the
<tt>moreinfo</tt> tag to mark the bug as such. Moreover if you can't
reproduce the bug, you tag it <tt>unreproducible</tt>. Anyone who
can reproduce the bug is then invited to provide more information
don't have anything to do with an upload you made, do it by emailing
an explanation to <email>XXX-done@&bugs-host;</email>. Do
<strong>not</strong> close bugs in the changelog entry of a version if
-the changes in that version of the package doesn't have any bearing on
+the changes in that version of the package don't have any bearing on
the bug.
<p>
For general information on how to write your changelog entries, see
<list compact>
<item>he notices it on a public forum (mailing list, web site, etc.)
<item>someone files a bug report
- <item>someone informs him via private email
+ <item>someone informs them via private email
</list>
In the first two cases, the information is public and it is important
<p>
There are two reasons for releasing information even though secrecy is
-requested: the problem has been known for a while, or that the problem
+requested: the problem has been known for a while, or the problem
or exploit has become public.
<sect2 id="bug-security-advisories">Security Advisories
package. Test other, normal actions as well, as sometimes a security
fix can break seemingly unrelated features in subtle ways.
<p>
+Do <strong>NOT</strong> include any changes in your package which are
+not directly related to fixing the vulnerability. These will only
+need to be reverted, and this wastes time. If there are other bugs in
+your package that you would like to fix, make an upload to
+proposed-updates in the usual way, after the security advisory is
+issued. The security update mechanism is not a means for introducing
+changes to your package which would otherwise be rejected from the
+stable release, so please do not attempt to do this.
+<p>
Review and test your changes as much as possible. Check the
differences from the previous version repeatedly
(<prgn>interdiff</prgn> from the <package>patchutils</package> package
and <prgn>debdiff</prgn> from <package>devscripts</package> are useful
tools for this, see <ref id="debdiff">).
<p>
-When packaging the fix, keep the following points in mind:
+Be sure to verify the following items:
<list>
- <item>Make sure you target the right distribution in your
+ <item>Target the right distribution in your
<file>debian/changelog</file>. For stable this is <tt>stable-security</tt> and for
testing this is <tt>testing-security</tt>, and for the previous
stable release, this is <tt>oldstable-security</tt>. Do not target
not build those. This point applies to normal package uploads as
well.
- <item>If the upstream source has been uploaded to
+ <item>Unless the upstream source has been uploaded to
security.debian.org before (by a previous security update), build
- the upload without the upstream source (<tt>dpkg-buildpackage
- -sd</tt>). Otherwise, build with full source
- (<tt>dpkg-buildpackage -sa</tt>).
+ the upload with full upstream source (<tt>dpkg-buildpackage
+ -sa</tt>). If there has been a previous upload to
+ security.debian.org with the same upstream version, you may upload
+ without upstream source (<tt>dpkg-buildpackage -sd</tt>).
<item>Be sure to use the exact same <file>*.orig.tar.gz</file> as used in the
normal archive, otherwise it is not possible to move the security
fix into the main archives later.
- <item>Be sure to build the package on a clean
+ <item>Build the package on a clean
system which only has packages installed from the distribution you
are building for. If you do not have such a system yourself, you
can use a debian.org machine (see <ref id="server-machines">)
removed. For example, you can provide the name of the package that
supersedes the one to be removed.
<p>
-Usually you only ask the removal of a package maintained by yourself.
+Usually you only ask for the removal of a package maintained by yourself.
If you want to remove another package, you have to get the approval
-of its last maintainer.
+of its maintainer.
<p>
If in doubt concerning whether a package is disposable, email
&email-debian-devel; asking for opinions. Also of interest is the
package. When invoked as <tt>apt-cache showpkg
<var>package</var></tt>, the program will show details for
<var>package</var>, including reverse depends.
+Removal of orphaned packages is discussed on &email-debian-qa;.
<p>
Once the package has been removed, the package's bugs should be handled.
They should either be reassigned to another package in the case where
In the past, it was possible to remove packages from <file>incoming</file>.
However, with the introduction of the new incoming system, this is no longer
possible. Instead, you have to upload a new revision of your package with
-a higher version as the package you want to replace. Both versions will be
+a higher version than the package you want to replace. Both versions will be
installed in the archive but only the higher version will actually be
available in <em>unstable</em> since the previous version will immediately
be replaced by the higher. However, if you do proper testing of your
<sect1>Replacing or renaming packages
<p>
-Sometimes you made a mistake naming the package and you need to rename
-it. In this case, you need to follow a two-step process. First, set
+When you make a mistake naming your package, you should follow a two-step
+process to rename it. First, set
your <file>debian/control</file> file to replace and conflict with the
obsolete name of the package (see the <url id="&url-debian-policy;"
name="Debian Policy Manual"> for details). Once you've uploaded
most of this chapter.
<p>
Porting is the act of building Debian packages for architectures that
-is different from the original architecture of the package
+are different from the original architecture of the package
maintainer's binary package. It is a unique and essential activity.
In fact, porters do most of the actual compiling of Debian packages.
For instance, for a single <em>i386</em> binary package, there must be
committed by Debian maintainers — common problems which often stymie
porters, and make their jobs unnecessarily difficult.
<p>
-The first and most important watchword is to respond quickly to bug or
+The first and most important thing is to respond quickly to bug or
issues raised by porters. Please treat porters with courtesy, as if
they were in fact co-maintainers of your package (which in a way, they
are). Please be tolerant of succinct or even unclear bug reports,
Make sure you don't rely on locally installed or hacked configurations
or programs. For instance, you should never be calling programs in
<file>/usr/local/bin</file> or the like. Try not to rely on programs
-be setup in a special way. Try building your package on another
+being setup in a special way. Try building your package on another
machine, even if it's the same architecture.
<item>
Don't depend on the package you're building already being installed (a
results of their work during the waiting period. This helps others
running the port have the benefit of the porter's work, even during
the waiting period. Of course, such locations have no official
-blessing or status, so buyer, beware.
+blessing or status, so buyer beware.
<sect1 id="porter-automation">
Debian porters, who compile packages for different architectures,
occasionally do binary-only NMUs as part of their porting activity
(see <ref id="porting">). Another reason why NMUs are done is when a
-Debian developers needs to fix another developers' packages in order to
+Debian developer needs to fix another developer's packages in order to
address serious security problems or crippling bugs, especially during
the freeze, or when the package maintainer is unable to release a fix
in a timely fashion.
filed in the Debian Bug Tracking System (BTS).
If they are not, submit them immediately.
<item>
-Wait a few days the response from the maintainer. If you don't get
-any response, you may want to help him by sending the patch that fixes
+Wait a few days for the response from the maintainer. If you don't get
+any response, you may want to help them by sending the patch that fixes
the bug. Don't forget to tag the bug with the "patch" keyword.
<item>
Wait a few more days. If you still haven't got an answer from the
-maintainer, send him a mail announcing your intent to NMU the package.
+maintainer, send them a mail announcing your intent to NMU the package.
Prepare an NMU as described in <ref id="nmu-guidelines">, test it
carefully on your machine (cf. <ref id="sanitycheck">).
Double check that your patch doesn't have any unexpected side effects.
<p>
The following applies to porters insofar as they are playing the dual
role of being both package bug-fixers and package porters. If a
-porter has to change the Debian source archive, automatically their
-upload is a source NMU and is subject to its rules. If a porter is
+porter has to change the Debian source archive, their upload is
+automatically a source NMU and is subject to its rules. If a porter is
simply uploading a recompiled binary package, the rules are different;
see <ref id="porter-guidelines">.
<p>
personal attack against the maintainer. It is a proof that
someone cares enough about the package and that they were willing to help
you in your work, so you should be thankful. You may also want to
-ask them if they would be interested to help you on a more frequent
+ask them if they would be interested in helping you on a more frequent
basis as co-maintainer or backup maintainer
(see <ref id="collaborative-maint">).
the base set have co-maintainers.</p>
<p>
Generally there is a primary maintainer and one or more
-co-maintainers. The primary maintainer is the whose name is listed in
+co-maintainers. The primary maintainer is the person whose name is listed in
the <tt>Maintainer</tt> field of the <file>debian/control</file> file.
Co-maintainers are all the other maintainers.</p>
<p>