chiark / gitweb /
wrong tense, noticed by Chris Tillman
[developers-reference.git] / developers-reference.sgml
index f45f7f67be44dd045559eecd800145dea077b56a..8ff600ef5c98ea6f78e519dcd78c03b1e2c83771 100644 (file)
@@ -5,7 +5,7 @@
   <!-- common, language independant entities -->
   <!entity % commondata  SYSTEM "common.ent" > %commondata;
   <!-- CVS revision of this document -->
-  <!entity cvs-rev "$Revision: 1.66 $">
+  <!entity cvs-rev "$Revision: 1.72 $">
 
   <!-- if you are translating this document, please notate the RCS
        revision of the developers reference here -->
@@ -129,7 +129,7 @@ Debian GNU/Linux has grown to over &number-of-maintainers; people and
 our systems are used in several very important places we have to be
 careful about being compromised.  Therefore, we need to verify new
 maintainers before we can give them accounts on our servers and
-letting them upload packages.
+let them upload packages.
        <p>
 Registration requires that the following information be sent in
 appropriate steps described at <url id="&url-newmaint-checklist;"
@@ -309,10 +309,14 @@ you're on vacation.
 In order to inform the other developers, there's two things that you should do.
 First send a mail to &email-debian-private; giving the period of time when
 you will be on vacation.  You can also give some special instructions on what to
-do if any problem occurs. Next you should update your information
+do if any problem occurs. Be aware that some people don't care for vacation
+notices and don't want to read them; you should prepend "[VAC] " to the
+subject of your message so that it can be easily filtered.
+       <p>
+Next you should update your information
 available in the Debian LDAP database and mark yourself as ``on vacation''
 (this information is only accessible to debian developers). Don't forget
-to remove the ``on vacation'' flag when you come back.
+to remove the ``on vacation'' flag when you come back!
 
       <sect id="upstream-coordination">Coordination With Upstream Developers
        <p>
@@ -784,41 +788,42 @@ shows up for a couple of months from time to time.
 
 
        <sect1>Experimental
-<!-- Note: experimental is currently dead because of the package pools.
-     Once that changes, the description below will most probably need
-     adjustments. -->
          <p>
 The <em>experimental</em> distribution is a specialty distribution.
 It is not a full distribution in the same sense as `stable' and
 `unstable' are.  Instead, it is meant to be a temporary staging area
 for highly experimental software where there's a good chance that the
-software could break your system.  Users who download and install
+software could break your system, or software that's just too unstable
+even for the <em>unstable</em> distribution (but there is a reason to
+package it nevertheless).  Users who download and install
 packages from <em>experimental</em> are expected to have been duly
 warned.  In short, all bets are off for the <em>experimental</em>
 distribution.
          <p>
-Developers should be very selective in the use of the
-<em>experimental</em> distribution.  Even if a package is highly
-unstable, it could still go into <em>unstable</em>; just state a
-few warnings in the description.  However, if there is a chance that
-the software could do grave damage to a system, it might be better to
-put it into <em>experimental</em>.
-         <p>
+If there is a chance that the software could do grave damage to a system,
+it is likely to be better to put it into <em>experimental</em>.
 For instance, an experimental compressed file system should probably go
-into <em>experimental</em>.  A new, beta, version of some software
-which uses completely different configuration might go into
-<em>experimental</em> at the maintainer's discretion.  New software
-which isn't likely to damage your system can go into
-<em>unstable</em>.  If you are working on an incompatible or complex
-upgrade situation, you can also use <em>experimental</em> as a staging
-area, so that testers can get early access.
-         <p>
-However, using <em>experimental</em> as a personal staging area is not
-always the best idea, especially with transient packages.  For
-example, you cannot delete packages which have been uploaded to
-<em>experimental</em> on your own; that must be done by the Debian
-archive maintainers.  An alternative is to use your personal web space
-on <tt>klecker.debian.org</tt>, a.k.a. <tt>people.debian.org</tt>.
+into <em>experimental</em>.
+         <p>
+Whenever there is a new upstream version of a package that introduces new
+features but breaks a lot of old ones, it should either not be uploaded, or
+be uploaded to <em>experimental</em>. A new, beta, version of some software
+which uses completely different configuration can go into
+<em>experimental</em>, at the maintainer's discretion. If you are working
+on an incompatible or complex upgrade situation, you can also use
+<em>experimental</em> as a staging area, so that testers can get early
+access.
+         <p>
+Some experimental software can still go into <em>unstable</em>, with a few
+warnings in the description, but that isn't recommended because packages
+from <em>unstable</em> are expected to propagate to <em>testing</em> and
+thus to <em>stable</em>.
+         <p>
+New software which isn't likely to damage your system can go directly into
+<em>unstable</em>.
+         <p>
+An alternative to <em>experimental</em> is to use your personal web space
+on <tt>people.debian.org</tt> (<tt>klecker.debian.org</tt>).
 
 
       <sect id="codenames">Release code names
@@ -914,11 +919,38 @@ better feel of what is going on, and what is new, in the project.
          </list>
 
 
+      <sect id="upload-checking">Checking the package prior to upload
+         <p>
+Before you upload your package, you should do basic testing on it.  At
+a minimum, you should try the following activities (you'll need to
+have an older version of the same Debian package around):
+<list>
+              <item>
+Install the package and make sure the software works, or upgrade the
+package from an older version to your new version if a Debian package
+for it already exists.
+             <item>
+Run <prgn>lintian</prgn> over the package.  You can run
+<prgn>lintian</prgn> as follows: <tt>lintian -v
+<var>package-version</var>.changes</tt>. This will check the source
+package as well as the binary package.  If you don't understand the
+output that <prgn>lintian</prgn> generates, try adding the <tt>-i</tt>
+switch, which will cause <prgn>lintian</prgn> to output a very verbose
+description of the problem.
+               <p>
+Normally, a package should <em>not</em> be uploaded if it causes lintian
+to emit errors (they will start with <tt>E</tt>).
+               <p>
+For more information on <prgn>lintian</prgn>, see <ref id="lintian">.
+             <item>
+Downgrade the package to the previous version (if one exists) &mdash; this
+tests the <tt>postrm</tt> and <tt>prerm</tt> scripts.
+             <item>
+Remove the package, then reinstall it.
+           </list>
 
 
-      <sect id="uploading">Uploading a package
-
-       <sect1>Generating the changes file
+      <sect>Generating the changes file
          <p>
 When a package is uploaded to the Debian FTP archive, it must be
 accompanied by a <tt>.changes</tt> file, which gives directions to the
@@ -933,29 +965,10 @@ All of these fields are mandatory for a Debian upload.  See the list
 of control fields in the <url id="&url-debian-policy;" name="Debian
 Policy Manual"> for the contents of these fields.  You can close bugs
 automatically using the <tt>Description</tt> field, see <ref
-id="upload-bugfix">.  Only the <tt>Distribution</tt> field is
-discussed in this section, since it relates to the archive maintenance
-policies.
+id="upload-bugfix">.
 
 
-       <sect1 id="upload-dist">Picking a distribution
-         <p>
-Notably, the <tt>Distribution</tt> field, which originates from the
-<file>debian/changelog</file> file, indicates which distribution the
-package is intended for.  There are four possible values for this
-field: `stable', `unstable', `frozen', or `experimental'; these values
-can also be combined. Or, if Debian has been frozen, and you
-want to get a bug-fix release into <em>frozen</em>, you would set the
-distribution to `frozen unstable'.  (See <ref id="upload-frozen"> for
-more information on when to upload to <em>frozen</em>.)  Note that it
-never makes sense to combine the <em>experimental</em> distribution with
-anything else.
-         <p>
-You should avoid combining `stable' with others because of potential
-problems with library dependencies (for your package and for the package
-built by the build daemons for other architecture).
-See <ref id="upload-stable"> for more information on when and how to
-upload to <em>stable</em>.
+       <sect1>The original source tarball
          <p>
 The first time a version is uploaded which corresponds to a particular
 upstream version, the original source tar file should be uploaded and
@@ -978,6 +991,32 @@ is some reason why this is not the case, the new version of the
 original source should be uploaded, possibly by using the <tt>-sa</tt>
 flag.
 
+
+       <sect1 id="upload-dist">Picking a distribution
+         <p>
+The <tt>Distribution</tt> field, which originates from the first line of
+the <file>debian/changelog</file> file, indicates which distribution the
+package is intended for.
+         <p>
+There are four possible values for this field: `stable', `unstable',
+`frozen', and `experimental'. Normally, packages are uploaded into
+<em>unstable</em>.
+         <p>
+These values can be combined, but only a few combinations make sense.
+If Debian has been frozen, and you want to get a bug-fix release into
+<em>frozen</em>, you would set the distribution to `frozen unstable'.
+See <ref id="upload-frozen"> for more information on uploading to
+<em>frozen</em>.
+         <p>
+You should avoid combining `stable' with others because of potential
+problems with library dependencies (for your package and for the package
+built by the build daemons for other architecture).
+See <ref id="upload-stable"> for more information on when and how to
+upload to <em>stable</em>.
+         <p>
+It never makes sense to combine the <em>experimental</em> distribution
+with anything else.
+
          <sect2 id="upload-frozen">Uploading to <em>frozen</em>
            <p>
 The Debian freeze is a crucial time for Debian.  It is our chance to
@@ -1057,36 +1096,7 @@ inclusion.
 
 
 
-       <sect1 id="upload-checking">Checking the package prior to upload
-         <p>
-Before you upload your package, you should do basic testing on it.  At
-a minimum, you should try the following activities (you'll need to
-have an older version of the same Debian package around):
-<list>
-              <item>
-Install the package and make sure the software works, or upgrade the
-package from an older version to your new version if a Debian package
-for it already exists.
-             <item>
-Run <prgn>lintian</prgn> over the package.  You can run
-<prgn>lintian</prgn> as follows: <tt>lintian -v
-<var>package-version</var>.changes</tt>. This will check the source
-package as well as the binary package.  If you don't understand the
-output that <prgn>lintian</prgn> generates, try adding the <tt>-i</tt>
-switch, which will cause <prgn>lintian</prgn> to output a very verbose
-description of the problem.
-               <p>
-Normally, a package should <em>not</em> be uploaded if it causes lintian
-to emit errors (they will start with <tt>E</tt>).
-               <p>
-For more information on <prgn>lintian</prgn>, see <ref id="lintian">.
-             <item>
-Downgrade the package to the previous version (if one exists) &mdash; this
-tests the <tt>postrm</tt> and <tt>prerm</tt> scripts.
-             <item>
-Remove the package, then reinstall it.
-           </list>
-
+      <sect id="uploading">Uploading a package
 
        <sect1 id="upload-ftp-master">Uploading to <tt>ftp-master</tt>
          <p>
@@ -1238,12 +1248,6 @@ package is released with <tt>Distribution:</tt> set to `unstable',
 `experimental', or `frozen' (when present), the announcement will be
 posted to &email-debian-devel-changes; instead.
        <p>
-On occasion, it is necessary to upload a package to both the
-<em>stable</em> and <em>unstable</em> distributions; this is done by
-putting both distributions in the <tt>Distribution:</tt> line.  In
-such a case the upload announcement will go to both of the above
-mailing lists.
-       <p>
 The <prgn>dupload</prgn> program is clever enough to determine
 where the announcement should go, and will automatically mail the
 announcement to the right list.  See <ref id="dupload">.