chiark / gitweb /
[DR] Consistent use of <literal> tag
[developers-reference.git] / pkgs.dbk
index 33d5924c058ae050faa5c4c0d00a33cb1e203481..03a6919e5bbbe3305c540100a252aec66f86ebb3 100644 (file)
--- a/pkgs.dbk
+++ b/pkgs.dbk
@@ -429,7 +429,8 @@ When the specified waiting time is over, the package is moved into
 the regular incoming directory for processing.
 This is done through automatic uploading to
 <literal>&ftp-upload-host;</literal> in upload-directory
-<literal>DELAYED/[012345678]-day</literal>. 0-day is uploaded
+<literal>DELAYED/<replaceable>X</replaceable>-day</literal>
+(<replaceable>X</replaceable> between 0 and 15). 0-day is uploaded
 multiple times per day to <literal>&ftp-upload-host;</literal>.
 </para>
 <para>
@@ -1237,7 +1238,7 @@ on <literal>&ftp-master-host;</literal>.
 </section>
 
 <section id="archive-manip">
-<title>Moving, removing, renaming, adopting, and orphaning packages</title>
+<title>Moving, removing, renaming, orphaning, adopting, and reintroducing packages</title>
 <para>
 Some archive manipulation operations are not automated in the Debian upload
 process.  These procedures should be manually followed by maintainers.  This
@@ -1308,7 +1309,10 @@ distribution.  Packages are not removed from
 <literal>testing</literal> directly.  Rather, they will be removed
 automatically after the package has been removed from
 <literal>unstable</literal> and no package in
-<literal>testing</literal> depends on it.
+<literal>testing</literal> depends on it. (Removals from
+<literal>testing</literal> are possible though by filing a removal bug report
+against the <systemitem role="package">&release-debian-org;</systemitem>
+pseudo-package. See the section <xref linkend="removals"/>.)
 </para>
 <para>
 There is one exception when an explicit removal request is not necessary: If a
@@ -1394,7 +1398,7 @@ Policy Manual</ulink> for details).  Please note that you
 should only add a <literal>Provides</literal> relation if all
 packages depending on the obsolete package name continue to work
 after the renaming. Once you've uploaded the package and the package
-has moved into the archive, file a bug against <literal>ftp.debian.org</literal>
+has moved into the archive, file a bug against <systemitem role="package">&ftp-debian-org;</systemitem>
 asking to remove the package with the
 obsolete name (see <xref linkend="removing-pkgs"/>).  Do not forget
 to properly reassign the package's bugs at the same time.
@@ -1482,6 +1486,55 @@ they will continue to receive the bugs during that time.
 </para>
 </section>
 
+<section id="reintroducing-pkgs">
+<title>Reintroducing packages</title>
+<para>
+Packages are often removed due to release-critical bugs, absent maintainers,
+too few users or poor quality in general. While the process of reintroduction
+is similar to the initial packaging process, you can avoid some pitfalls by
+doing some historical research first.
+</para>
+<para>
+You should check why the package was removed in the first place. This
+information can be found in the removal item in the news section of the PTS
+page for the package or by browsing the log of
+<ulink url="http://&ftp-master-host;/#removed">removals</ulink>.
+The removal bug will tell you why the package was removed and will give some
+indication of what you will need to work on in order to reintroduce the package.
+It may indicate that the best way forward is to switch to some other piece of
+software instead of reintroducing the package.
+</para>
+<para>
+It may be appropriate to contact the former maintainers to find out if
+they are working on reintroducing the package, interested in co-maintaining
+the package or interested in sponsoring the package if needed.
+</para>
+<para>
+You should do all the things required before introducing new packages
+(<xref linkend="newpackage"/>).
+</para>
+<para>
+You should base your work on the latest packaging available that is suitable.
+That might be the latest version from <literal>unstable</literal>, which will
+still be present in the <ulink url="&snap-debian-org;">snapshot archive</ulink>.
+</para>
+<para>
+The version control system used by the previous maintainer might contain useful
+changes, so it might be a good idea to have a look there.  Check if the <filename>control</filename>
+file of the previous package contained any headers linking to the version
+control system for the package and if it still exists.
+</para>
+<para>
+Package removals from <literal>unstable</literal> (not <literal>testing</literal>,
+<literal>stable</literal> or <literal>oldstable</literal>) trigger the
+closing of all bugs related to the package. You should look through all the
+closed bugs (including archived bugs) and unarchive and reopen any that were
+closed in a version ending in <literal>+rm</literal> and still apply. Any that
+no longer apply should be marked as fixed in the correct version if that is
+known.
+</para>
+</section>
+
 </section>
 
 <section id="porting">
@@ -1954,11 +2007,11 @@ maintainer by other means (private email, IRC).
 <listitem>
 <para>
 If the maintainer is usually active and responsive, have you tried to contact
-him? In general it should be considered preferable that a maintainer takes care
-of an issue himself and that he is given the chance to review and correct your
-patch, because he can be expected to be more aware of potential issues which an
-NMUer might miss. It is often a better use of everyone's time if the maintainer
-is given an opportunity to upload a fix on their own.
+them? In general it should be considered preferable that maintainers take care
+of an issue themselves and that they are given the chance to review and
+correct your patch, because they can be expected to be more aware of potential
+issues which an NMUer might miss. It is often a better use of everyone's time
+if the maintainer is given an opportunity to upload a fix on their own.
 </para>
 </listitem>
 </itemizedlist>
@@ -2085,26 +2138,17 @@ It also has the
 benefit of making it visually clear that a package in the archive was not made
 by the official maintainer.
 </para>
-
 <para>
 If you upload a package to testing or stable, you sometimes need to "fork" the
 version number tree. This is the case for security uploads, for example.  For
 this, a version of the form
-<literal>+deb<replaceable>XY</replaceable>u<replaceable>Z</replaceable></literal>
-should be used, where <replaceable>X</replaceable> and
-<replaceable>Y</replaceable> are the major and minor release numbers, and
-<replaceable>Z</replaceable> is a counter starting at <literal>1</literal>.
-When the release number is not yet known (often the case for
-<literal>testing</literal>, at the beginning of release cycles), the lowest
-release number higher than the last stable release number must be used.  For
-example, while Lenny (Debian 5.0) is stable, a security NMU to stable for a
-package at version <literal>1.5-3</literal> would have version
-<literal>1.5-3+deb50u1</literal>, whereas a security NMU to Squeeze would get
-version <literal>1.5-3+deb60u1</literal>. After the release of Squeeze, security
-uploads to the <literal>testing</literal> distribution will be versioned
-<literal>+deb61uZ</literal>, until it is known whether that release will be
-Debian 6.1 or Debian 7.0 (if that becomes the case, uploads will be versioned
-as <literal>+deb70uZ</literal>).
+<literal>+deb<replaceable>X</replaceable>u<replaceable>Y</replaceable></literal>
+should be used, where <replaceable>X</replaceable> is the major release number,
+and <replaceable>Y</replaceable> is a counter starting at <literal>1</literal>.
+For example, while Wheezy (Debian 7.0) is stable, a security NMU to stable for
+a package at version <literal>1.5-3</literal> would have version
+<literal>1.5-3+deb7u1</literal>, whereas a security NMU to Jessie would get
+version <literal>1.5-3+deb8u1</literal>.
 </para>
 </section>
 
@@ -2120,7 +2164,7 @@ allows the developer doing the NMU to perform all the necessary tasks at the
 same time. For instance, instead of telling the maintainer that you will
 upload the updated
 package in 7 days, you should upload the package to
-<literal>DELAYED/7</literal> and tell the maintainer that he has 7 days to
+<literal>DELAYED/7</literal> and tell the maintainer that they have 7 days to
 react.  During this time, the maintainer can ask you to delay the upload some
 more, or cancel your upload.
 </para>
@@ -2129,12 +2173,12 @@ more, or cancel your upload.
 The <literal>DELAYED</literal> queue should not be used to put additional
 pressure on the maintainer. In particular, it's important that you are
 available to cancel or delay the upload before the delay expires since the
-maintainer cannot cancel the upload himself.
+maintainer cannot cancel the upload themselves.
 </para>
 
 <para>
 If you make an NMU to <literal>DELAYED</literal> and the maintainer updates
-his package before the delay expires, your upload will be rejected because a
+the package before the delay expires, your upload will be rejected because a
 newer version is already available in the archive.
 Ideally, the maintainer will take care to include your proposed changes (or
 at least a solution for the problems they address) in that upload.
@@ -2382,9 +2426,7 @@ the following:
 The package must have been available in <literal>unstable</literal> for 2, 5
 or 10 days, depending on the urgency (high, medium or low).  Please note that
 the urgency is sticky, meaning that the highest urgency uploaded since the
-previous <literal>testing</literal> transition is taken into account.  Those
-delays may be doubled during a freeze, or <literal>testing</literal>
-transitions may be switched off altogether;
+previous <literal>testing</literal> transition is taken into account;
 </para>
 </listitem>
 <listitem>
@@ -2412,7 +2454,13 @@ It must not break any dependency of a package which is already available in
 The packages on which it depends must either be available in
 <literal>testing</literal> or they must be accepted into
 <literal>testing</literal> at the same time (and they will be if they fulfill
-all the necessary criteria).
+all the necessary criteria);
+</para>
+</listitem>
+<listitem>
+<para>
+The phase of the project.  I.e. automatic transitions are turned off during
+the <emphasis>freeze</emphasis> of the <literal>testing</literal> distribution.
 </para>
 </listitem>
 </itemizedlist>
@@ -2624,10 +2672,8 @@ If you are interested in details, this is how britney works:
 The packages are looked at to determine whether they are valid candidates.
 This gives the update excuses.  The most common reasons why a package is not
 considered are too young, RC-bugginess, and out of date on some arches.  For
-this part of britney, the release managers have hammers of various sizes to
-force britney to consider a package.  (Also, the base freeze is coded in that
-part of britney.) (There is a similar thing for binary-only updates, but this
-is not described here.  If you're interested in that, please peruse the code.)
+this part of britney, the release managers have hammers of various sizes,
+called hints (see below), to force britney to consider a package.
 </para>
 <para>
 Now, the more complex part happens: Britney tries to update <literal>testing</literal>
@@ -2645,7 +2691,13 @@ url="http://&ftp-master-host;/testing/update_output/"></ulink>.
 </para>
 <para>
 The hints are available via <ulink
-url="http://&ftp-master-host;/testing/hints/"></ulink>.
+url="http://&ftp-master-host;/testing/hints/"></ulink>, where you can find
+the
+<ulink url="http://&ftp-master-host;/testing/hints/README">description</ulink>
+as well.  With the hints, the Debian Release team can block or unblock
+packages, ease or force packages into <literal>testing</literal>, remove
+packages from <literal>testing</literal>, approve uploads to
+<link linkend="t-p-u">testing-proposed-updates</link> or override the urgency.
 </para>
 </section>