chiark / gitweb /
Sec "Mailing Lists": where to find private archives, closes: #96780
[developers-reference.git] / developers-reference.sgml
index 6917d4f99547bad48a20082e21a259b93af70fb9..cd1afddb347d697430027bdb87dc2786e2936cea 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.81 $">
+  <!entity cvs-rev "$Revision: 1.86 $">
 
   <!-- if you are translating this document, please notate the RCS
        revision of the developers reference here -->
@@ -428,7 +428,10 @@ discussions amongst Debian developers.  It is meant to be used for
 posts which for whatever reason should not be published publically.
 As such, it is a low volume list, and users are urged not to use
 &email-debian-private; unless it is really necessary.  Moreover, do
-<em>not</em> forward email from that list to anyone.
+<em>not</em> forward email from that list to anyone.  Archives of this
+list are not available on the web for obvious reasons, but you can see
+them using your shell account <tt>master.debian.org</tt> and looking
+in the <file>~debian/archive/debian-private</file> directory.
        <p>
 &email-debian-email; is a special mailing list used as a grab-bag 
 for Debian related correspondence such as contacting upstream authors
@@ -1108,7 +1111,13 @@ To upload a package, you need a personal account on
 official maintainer. If you use <prgn>scp</prgn> or <prgn>rsync</prgn>
 to transfer the files, place them into <tt>&us-upload-dir;</tt>;
 if you use anonymous FTP to upload, place them into
-<ftppath>/pub/UploadQueue/</ftppath>.
+<ftppath>/pub/UploadQueue/</ftppath>.  Please note that you should transfer
+the changes file last.  Otherwise, your upload may be rejected because the
+archive maintenance software will parse the changes file and see that not
+all files have been uploaded.  If you don't want to bother with transfering
+the changes file last, you can simply copy your files to a temporary
+directory on <tt>ftp-master</tt> and then move them to
+<tt>&us-upload-dir;</tt>.
           <p>
 <em>Note:</em> Do not upload to <tt>ftp-master</tt> packages
 containing software that is export-controlled by the United States
@@ -1121,12 +1130,14 @@ to <tt>non-us</tt> (see <ref id="upload-non-us">).  If you are not
 sure whether U.S. export controls apply to your package, post a
 message to &email-debian-devel; and ask.
          <p>
-You may also find the Debian package <package>dupload</package> useful
-when uploading packages.  This handy program is distributed with
+You may also find the Debian packages <package>dupload</package> or
+<package>dput</package> useful
+when uploading packages.  These handy program are distributed with
 defaults for uploading via <prgn>ftp</prgn> to <tt>ftp-master</tt>,
 <tt>chiark</tt>, and <tt>erlangen</tt>.  It can also be configured to
 use <prgn>ssh</prgn> or <prgn>rsync</prgn>.  See <manref name="dupload"
-section="1"> and <manref name="dupload" section="5"> for more information.
+section="1">, <manref name="dupload" section="5"> and <manref name="dput"
+section="1"> for more information.
          <p>
 After uploading your package, you can check how the archive maintenance
 software will process it by running <prgn>dinstall</prgn> on your changes
@@ -1855,10 +1866,14 @@ package.  When invoked as <tt>apt-cache showpkg
 
        <sect1>Removing packages from <tt>Incoming</tt>
          <p>
-If you decide to remove a package from <tt>Incoming</tt>, it is nice
-but not required to send a notification of that to the appropriate
-announce list (either &email-debian-changes; or
-&email-debian-devel-changes;).
+In the past, it was possible to remove packages from <tt>incoming</tt>.
+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
+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
+packages, the need to replace a package should not occur too often anyway.
 
       <sect>Replacing or renaming packages
        <p>
@@ -2088,8 +2103,12 @@ Application Managers"> at the Debian web site.
     <chapt id="tools">Overview of Debian Maintainer Tools
       <p>
 This section contains a rough overview of the tools available to
-maintainers.  These tools are meant to help convenience developers and 
-free their time for critical tasks.  
+maintainers.  The following is by no means complete or definitive, but
+just a guide to some of the more popular tools.
+      <p>
+Debian maintainer tools are meant to help convenience developers and 
+free their time for critical tasks.  As Larry Wall says, there's more
+than one way to do it.
       <p>
 Some people prefer to use high-level package maintenance tools and
 some do not.  Debian is officially agnostic on this issue; any tool
@@ -2100,7 +2119,8 @@ endorse any particular tool to the exclusion of a competing tool.
       <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.
+the package documentation itself.  You can also see more info with the
+command <tt>apt-cache show <var>package_name</var></tt>.
 
 
       <sect id="dpkg-dev">
@@ -2128,14 +2148,18 @@ id="upload-checking"> and <ref id="lintian-reports">.
         <p>
 <package>debconf</package> provides a consistent interface to
 configuring packages interactively.  It is user interface
-intedependant, allowing end-users to configure packages with a
+independant, allowing end-users to configure packages with a
 text-only interface, an HTML interface, or a dialog interface.  New
 interfaces can be added modularly.
         <p>
+You can find documentation for this package in the
+<package>debconf-doc</package> package.
+        <p>
 Many feel that this system should be used for all packages requiring
 interactive configuration.  <package>debconf</package> is not
 currently required by Debian Policy, however, that may change in the
 future.
+        <p>
 
 
       <sect id="debhelper">
@@ -2147,10 +2171,14 @@ building binary Debian packages. Programs are included to install
 various files into your package, compress files, fix file permissions,
 integrate your package with the Debian menu system.
        <p>
-Unlike <package>debmake</package>, <package>debhelper</package> is
-broken into several small, granular commands which act in a consistent
-manner.  As such, it allows a greater granularity of control than
-<package>debmake</package>.
+Unlike some approaches, <package>debhelper</package> is broken into
+several small, granular commands which act in a consistent manner.  As
+such, it allows a greater granularity of control than some of the
+other "debian/rules tools".
+       <p>
+There are a number of little <package>debhelper</package> add-on
+packages, too transient to document.  You can see the list of most of
+them by doing <tt>apt-cache search ^dh-</tt>.
 
 
       <sect id="debmake">
@@ -2169,16 +2197,18 @@ The consensus is that <package>debmake</package> is now deprecated in
 favor of <package>debhelper</package>.  However, it's not a bug to use
 <package>debmake</package>.
 
+
       <sect id="yada">
        <heading><package>yada</package>
        <p>
-<package>yada</package> is a new packaging helper tool with a slightly
-different philosophy.  It uses a <file>debian/packages</file> file to
-auto-generate other necessary files in the <file>debian/</file>
-subdirectory.
+<package>yada</package> is another packaging helper tool.  It uses a
+<file>debian/packages</file> file to auto-generate
+<file>debian/rules</file> other necessary files in the
+<file>debian/</file> subdirectory.
        <p>
-Note that <package>yada</package> is still quite new and possibly not
-yet as robust as other systems.
+Note that <package>yada</package> is called "essentially unmaintained"
+by it's own maintainer, Charles Briscoe-Smith.  As such, it can be
+considered deprecated.
 
 
       <sect id="equivs">
@@ -2215,14 +2245,39 @@ to send mail about the upload of a package.  You can configure it for
 new upload locations or methods.
 
 
+      <sect id="dput">
+       <heading><package>dput</package>
+       <p>
+The <package>dput</package> package and script does much the same
+thing as <package>dupload</package>, but in a different way.  It has
+some features over <package>dupload</package>, such as the ability to
+check the GnuPG signature and checksums before uploading, and the
+possibility of running <tt>dinstall</tt> in dry-run mode after the
+upload.
+
+
       <sect id="fakeroot">
        <heading><package>fakeroot</package>
        <p>
 <package>fakeroot</package> simulates root privileges.  This enables
 you to build packages without being root (packages usually want to
 install files with root ownership).  If you have
-<package>fakeroot</package> installed, you can say, i.e.,
-<tt>dpkg-buildpackage -rfakeroot</tt> as a user.
+<package>fakeroot</package> installed, you can build packages as a
+user: <tt>dpkg-buildpackage -rfakeroot</tt>.
+
+
+      <sect id="debootstrap">
+       <heading><package>debootstrap</package>
+       <p>
+The <package>debootstrap</package> 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>
+Having a system link this can be useful in many ways. For instance,
+you can <prgn>chroot</prgn> into it if you want to test your build
+depends.  Or, you can test how your package behaves when installed
+into a bare base system.
 
 
       <sect id="devscripts">
@@ -2230,10 +2285,10 @@ install files with root ownership).  If you have
        <p>
 <package>devscripts</package> is a package containing a few wrappers
 and tools which you may find helpful for maintaining your Debian
-packages.  Example scripts include <prgn>debchange</prgn>, which will
-manipulate your <file>debian/changelog</file> file from the
-command-line, and <prgn>debuild</prgn>, which is a wrapper around
-<prgn>dpkg-buildpackage</prgn>.
+packages.  Example scripts include <prgn>debchange</prgn> and
+<prgn>dch</prgn>, which manipulate your <file>debian/changelog</file>
+file from the command-line, and <prgn>debuild</prgn>, which is a
+wrapper around <prgn>dpkg-buildpackage</prgn>.
 
 
       <sect id="debget">
@@ -2241,8 +2296,19 @@ command-line, and <prgn>debuild</prgn>, which is a wrapper around
        <p>
 <package>debget</package> is a package containing a convenient script
 which can be helpful in downloading files from the Debian archive.
-You can use it to download source packages, for instance.
-
+You can use it to download source packages, for instance (although
+<tt>apt-get source <var>package</var></tt> does pretty much the same
+thing).
+
+
+<!-- FIXME: add the following
+  dpkg-awk
+  dpkg-cross
+  dpkg-dev-el
+  alien
+  dpkg-repack
+  grep-dctrl
+  pbuilder -->
 
 
   </book>