chiark / gitweb /
Sync to CVS 1.282 by commenting out bpp-debian-security-audit and bpp-lower-privs...
[developers-reference.git] / developers-reference.sgml
index 95f5bc35f33b2e9689aa592fdbde4b46a412ac26..8698e292cf5c22047500915027370c8cfb5b9660 100644 (file)
@@ -7,7 +7,7 @@
   <!ENTITY % dynamicdata  SYSTEM "dynamic.ent" > %dynamicdata;
 
   <!-- CVS revision of this document -->
-  <!ENTITY cvs-rev "$Revision: 1.264 $">
+  <!ENTITY cvs-rev "$Revision: 1.282 $">
 
   <!-- if you are translating this document, please notate the CVS
        revision of the original developer's reference in cvs-en-rev -->
@@ -58,6 +58,7 @@ writing to the &fsf-addr;.
        <p>
 If you want to print this reference, you should use the <url
 id="developers-reference.pdf" name="pdf version">.
+This page is also available in <url id="index.fr.html" name="French">.
 ]]>
 
     <toc detail="sect1">
@@ -309,13 +310,12 @@ can update the Debian key ring by sending your key to the key server at
 <tt>&keyserver-host;</tt>.
        <p>
 If you need to add a completely new key or remove an old key, you need
-to get the new key signed by another developer. After this, a mail
-signed by another developer listing your account name, the keyids
-of the old and of the new key and the reason should be send to
-&email-debian-keyring;. If the old key is compromised or invalid, you
+to get the new key signed by another developer. 
+If the old key is compromised or invalid, you
 also have to add the revocation certificate. If there is no real
-reason for a new key, the Keyring Maintainers will only accept it if
-it's more secure and connected to the old key.
+reason for a new key, the Keyring Maintainers might reject the new key.
+Details can be found at 
+<url id="http://keyring.debian.org/replacing_keys.html">.
        <p>
 The same key extraction routines discussed in <ref id="registering">
 apply. 
@@ -669,17 +669,10 @@ an email to &email-ftpmaster;, but also see the procedures in
 
       <sect1 id="servers-non-us">The non-US server
        <p>
-The non-US server, <tt>non-us.debian.org</tt>,
-holds the canonical copy of the non-US part of the Debian archive.
-If you need to upload a package into one of the non-US sections, upload it
-to this server; see <ref id="upload-non-us">.
-       <p>
-Problems with the non-US package archive should generally be submitted as
-bugs against the <package>nonus.debian.org</package> pseudo-package (notice
-the lack of hyphen between "non" and "us" in the pseudo-package name
-&mdash; that's for backwards compatibility). Remember to check whether or
-not someone else has already reported the problem to the
-<url id="http://&bugs-host;/nonus.debian.org" name="Bug Tracking System">.
+The non-US server <tt>non-us.debian.org</tt>
+was discontinued with the release of sarge. The pseudo-package
+<package>nonus.debian.org</package>
+stil exists for now.
 
       <sect1 id="servers-www">The www-master server
        <p>
@@ -710,8 +703,7 @@ whereas on other hosts it won't.
        <p>
 Usually the only reason to use a different host is when you need to publish
 materials subject to the U.S. export restrictions, in which case you can use
-one of the other servers located outside the United States, such as the
-aforementioned <tt>non-us.debian.org</tt>.
+one of the other servers located outside the United States.
        <p>
 Send mail to &email-debian-devel; if you have any questions.
 
@@ -996,7 +988,7 @@ stable distribution is incremented (e.g., &lsquo;3.0&rsquo; becomes
 &lsquo;3.0r1&rsquo;, &lsquo;2.2r4&rsquo; becomes &lsquo;2.2r5&rsquo;, and
 so forth).
 Please refer to
-<qref="upload-stable">uploads to the <em>stable</em> distribution</qref>
+<qref id="upload-stable">uploads to the <em>stable</em> distribution</qref>
 for details.
        <p>
 Note that development under <em>unstable</em> continues during the
@@ -1131,8 +1123,7 @@ have accounts on these machines.
        <p>
 The Incoming system is responsible for collecting updated packages and
 installing them in the Debian archive. It consists of a set of
-directories and scripts that are installed both on <tt>&ftp-master-host;</tt>
-and <tt>&non-us-host;</tt>.
+directories and scripts that are installed on <tt>&ftp-master-host;</tt>.
        <p>
 Packages are uploaded by all the maintainers into a directory called
 <file>UploadQueue</file>. 
@@ -1251,7 +1242,7 @@ You can view the bugs of a given package at the URL
       <sect1 id="madison">The <prgn>madison</prgn> utility
         <p>
 <prgn>madison</prgn> is a command-line utility that is available
-on both <tt>&ftp-master-host;</tt> and <tt>&non-us-host;</tt>, and on
+on <tt>&ftp-master-host;</tt>, and on
 the mirror on <tt>&ftp-master-mirror;</tt>. It
 uses a single argument corresponding to a package name. In result
 it displays which version of the package is available for each
@@ -1543,8 +1534,23 @@ by Debian, facilitate contributions from external developers to projects
 started by Debian, and help projects whose goals are the promotion of Debian
 or its derivatives.
        <p>
+All Debian developers automatically have an account on Alioth.
+They can activate it by using the recover password facility.
+External developers can request guest accounts on Alioth.
+        <p>
 For more information please visit <url id="&url-alioth;">.
 
+    <sect id="developer-misc">Goodies for Developers
+        <p>
+     <sect1 id="lwn">LWN Subscriptions
+        <p>
+Since October of 2002, HP has sponsored a subscription to LWN for all 
+interested Debian developers.
+
+Details on how to get access to this benefit are in
+<url id="http://lists.debian.org/debian-devel-announce/2002/10/msg00018.html">.
+
+
 
    <chapt id="pkgs">Managing Packages
        <p>
@@ -1797,20 +1803,6 @@ 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.
          <p>
-<!-- FIXME: is this still topical? Explain the rationale? -->
-<em>Note:</em> Do not upload to <tt>ftp-master</tt> cryptographic
-packages which belong to <em>contrib</em> or <em>non-free</em>. Uploads of
-such software should go to <tt>non-us</tt> (see <ref
-id="upload-non-us">). Furthermore packages containing code that is
-patent-restricted by the United States government cannot be uploaded to
-<tt>ftp-master</tt>; depending on the case they may still be uploaded to
-<file>non-US/non-free</file> (it's in non-free because of distribution issues
-and not because of the license of the software). If you can't upload it to
-<tt>ftp-master</tt>, then neither can you upload it to backup
-queues that finally also end up on <tt>ftp-master</tt>. If you are not sure
-whether U.S. patent controls or cryptographic controls apply to your
-package, post a message to &email-debian-devel; and ask.
-         <p>
 You may also find the Debian packages <ref id="dupload"> or
 <ref id="dput"> useful
 when uploading packages. These handy programs help automate the
@@ -1821,41 +1813,7 @@ and the Debian package <ref id="dcut">.
 
        <sect1 id="upload-non-us">Uploading to <tt>non-US</tt>
          <p>
-<em>Note:</em> non-us is currently not processed any more.
-         <p>
-As discussed above, export controlled software should not be uploaded
-to <tt>ftp-master</tt>.  Instead, upload the package with anonymous FTP
-to <ftpsite>non-us.debian.org</ftpsite>, placing the files in
-&upload-queue; (again, both <ref id="dupload"> and <ref
-id="dput"> can do this for you if invoked properly).
-         <p>
-Note that U.S. residents or citizens are subject to restrictions on
-export of cryptographic software. As of this writing, U.S. citizens
-are allowed to export some cryptographic software, subject to
-notification rules by the U.S. Department of Commerce.  However, this
-restriction has been waived for software which is already available
-outside the U.S.  Therefore, any cryptographic software which belongs
-in the <em>main</em> section of the Debian archive and does not depend
-on any package outside of <em>main</em> (e.g., does not depend on
-anything in <em>non-US/main</em>) can be uploaded to <tt>ftp-master</tt>
-or its queues, described above.
-         <p>
-Debian policy does not prevent upload to non-US by U.S. residents or
-citizens, but care should be taken in doing so. It is recommended that
-developers take all necessary steps to ensure that they are not
-breaking current US law by doing an upload to non-US, <em>including
-consulting a lawyer</em>.
-         <p>
-For packages in <em>non-US/main</em>, <em>non-US/contrib</em>,
-developers should at least follow the <url id="&url-u.s.-export;"
-name="procedure outlined by the US Government">.  Maintainers of
-<em>non-US/non-free</em> packages should further consult the <url
-id="&url-notification-of-export;" name="rules on notification of
-export"> of non-free software.
-         <p>
-This section is for information only and does not constitute legal
-advice. Again, it is strongly recommended that U.S. citizens and
-residents consult a lawyer before doing uploads to non-US.
+<em>Note:</em> non-us was discontinued with release of sarge.
 
 
        <sect1 id="delayed-incoming">Delayed uploads
@@ -1888,7 +1846,7 @@ For details, please see section <ref id="bug-security">.
 
        <sect1>Other upload queues
          <p>
-The scp queues on ftp-master, non-us, and security are mostly unusable
+The scp queues on ftp-master, and security are mostly unusable
 due to the login restrictions on those hosts.
          <p>
 The anonymous queues on ftp.uni-erlangen.de and ftp.uk.debian.org are
@@ -1954,7 +1912,7 @@ or priority for your package be changed from the old section or
 priority to the new one.  Be sure to explain your reasoning.
        <p>
 For more information about <em>override files</em>, see <manref
-name="dpkg-scanpackages" section="8"> and
+name="dpkg-scanpackages" section="1"> and
 <url id="&url-bts-devel;#maintincorrect">.
        <p>
 Note that the <tt>Section</tt> field describes both the section as
@@ -2883,7 +2841,56 @@ different sub-flavors of Debian, which may or may not really be of
 general interest (for instance, a flavor of Debian built with <prgn>gcc</prgn>
 bounds checking).  It will also enable Debian to recompile entire
 distributions quickly.
-          </sect2>
+          <p>
+The buildds admins of each arch can be contacted by the mail address
+$arch@buildd.debian.org.
+
+       <sect1 id="packages-arch-specific">When your package is <em>not</em> portable
+       <p>
+Some packages still have issues with building and/or working on some
+of the architectures supported by Debian, and cannot be ported at all,
+or not with a reasonable amount of time. An example is a package that
+is SVGA-specific (only i386), or uses other hardware-specific features
+not supported on all architectures.
+       <p>
+In order to prevent broken packages from being uploaded to the archive, and
+wasting buildd time, you need to do a few things:
+       <p>
+      <list>
+      <item>
+       <p>
+First, make sure your package <em>does</em> fail to build on
+architectures that it cannot support.
+There are a few ways to achieve this.
+The preferred way is to have a small testsuite during build time
+that will test the functionality, and fail if it doesn't work.
+This is a good idea anyway,
+as this will prevent (some) broken uploads on all architectures,
+and also will allow the package to build
+as soon as the required functionality is available.
+       <p>
+Additionally, if you believe the list of supported architectures is
+pretty constant, you should change 'any' to a list of supported
+architectures in debian/control.  This way, the build will fail also,
+and indicate this to a human reader without actually trying.
+      <item>
+       <p>
+In order to prevent autobuilders from needlessly trying to build your
+package, it must be included in <file>packages-arch-specific</file>, a
+list used by the <prgn>wanna-build</prgn> script.
+The current version is available as
+<url id="http://cvs.debian.org/srcdep/Packages-arch-specific?rev=HEAD&amp;cvsroot=dak&amp;content-type=text/vnd.viewcvs-markup">;
+please see the top of the file for whom to contact for changes.
+      </list>
+       <p>
+Please note that it is insufficient to only add your package to
+Packages-arch-specific
+without making it fail to build on unsupported architectures:
+A porter or any other person trying to build your package might
+accidently upload it without noticing it doesn't work.
+If in the past some binary packages were uploaded on unsupported architectures,
+request there removal by filing a bug against
+<package>ftp.debian.org</package>
 
 
     <sect id="nmu">Non-Maintainer Uploads (NMUs)
@@ -4098,7 +4105,7 @@ Most questions should use medium and low priorities.
 Most Debian package maintainers are not native English speakers. So,
 writing properly phrased templates may not be easy for them.
        <p>
-Please use (and abuse) debian-l10n-english@lists.debian.org mailing
+Please use (and abuse) &email-debian-l10n-english; mailing
 list. Have your templates proofread.
        <p>
 Badly written templates give a poor image of your package, of your
@@ -4112,10 +4119,10 @@ doing so, try to balance between verbosity and simplicity.
        <sect2>Be kind to translators
        <p>
 Debconf templates may be translated. Debconf, along with its sister
-package po-debconf offers a simple framework for getting
+package <prgn>po-debconf</prgn> offers a simple framework for getting
 templates translated by translation teams or even individuals.
        <p>
-Please use gettext-based templates. Install po-debconf on your
+Please use gettext-based templates. Install <package>po-debconf</package> on your
 development system and read its documentation ("man po-debconf" is a
 good start).
        <p>
@@ -4128,10 +4135,57 @@ additional uploads. If you use gettext-based templates, the
 translator's name and e-mail addresses are mentioned in the po files
 headers.
        <p>
+The use of the <prgn>podebconf-report-po</prgn> from the
+po-debconf package is highly recommended to warn translators which
+have incomplete translations and request them for updates.
+       <p>
 If in doubt, you may also contact the translation team for a given
 language (debian-l10n-xxxxx@lists.debian.org), or the
-debian-i18n@lists.debian.org mailing list.
+&email-debian-i18n; mailing list.
+       <p>
+Calls for translations posted to
+&email-debian-i18n; with the <file>debian/po/templates.pot</file> file
+attached or referenced in a URL are encouraged. Be sure to mentions in
+these calls for new translations which languages you have existing
+translations for, in order to avoid duplicate work.
+       <sect2>Unfuzzy complete translations when correcting typos and spelling
+       <p>
 
+When the text of a debconf template is corrected and you are
+<strong>sure</strong> that the change does <strong>not</strong> affect
+translations, please be kind to translators and unfuzzy their
+translations.
+       <p>
+If you don't do so, the whole template will not be translated as long
+as a translator will send you an update.
+       <p>
+To <strong>unfuzzy</strong> translations, you can proceed the following way:
+       <enumlist>
+       <item>
+Put all incomplete PO files out of the way. You can check the
+completeness by using (needs the <package>gettext</package> package installed):
+<example>for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null
+--statistics $i; done</example>
+       <item>
+move all files which report either fuzzy strings to a temporary
+place. Files which report no fuzzy strings (only translated and
+untranslated) will be kept in place.
+       <item>
+now <strong>and now only</strong>, modify the template for the typos
+and check again that translation are not impacted (typos, spelling
+errors, sometimes typographical corrections are usually OK)
+       <item>
+run <prgn>debconf-updatepo</prgn>. This will fuzzy all strings
+you modified in translations. You can see this by running the above
+again
+       <item>
+use the following command:
+<example>for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done</example>
+       <item>
+move back to debian/po the files which showed fuzzy strings in the first step
+       <item>
+run <prgn>debconf-updatepo</prgn> again
+       </enumlist>
        <sect2>Do not make assumptions about interfaces
        <p>
 Templates text should not make reference to widgets belonging to some
@@ -4139,6 +4193,12 @@ debconf interfaces. Sentences like "If you answer Yes..." have no
 meaning for users of graphical interfaces which use checkboxes for
 boolean questions.
        <p>
+String templates should also avoid mentioning the default values in
+their description. First, because this is redundant with the values
+seen by the users. Also, because these default values may be different
+from the maintainer choices (for instance, when the debconf database
+was preseeded).
+       <p>
 More generally speaking, try to avoid referring to user actions.
 Just give facts.