chiark / gitweb /
lots of fixes, see changelog for details
authoraba <aba@313b444b-1b9f-4f58-a734-7bb04f332e8d>
Mon, 13 Sep 2004 19:51:02 +0000 (19:51 +0000)
committeraba <aba@313b444b-1b9f-4f58-a734-7bb04f332e8d>
Mon, 13 Sep 2004 19:51:02 +0000 (19:51 +0000)
git-svn-id: svn://anonscm.debian.org/ddp/manuals/trunk/developers-reference@2590 313b444b-1b9f-4f58-a734-7bb04f332e8d

common.ent
debian/changelog
debian/control
developers-reference.sgml

index 23f1f8c..8573ddb 100644 (file)
@@ -99,6 +99,7 @@
 <!ENTITY url-upload-samosa "ftp://samosa.debian.org/pub/UploadQueue/">
 <!ENTITY url-upload-jp "ftp://master.debian.or.jp/pub/Incoming/upload/">
 
+<!ENTITY url-mentors "http://people.debian.org/~mpalmer/debian-mentors_FAQ.html">
 <!ENTITY url-sponsors "http://www.internatif.org/bortzmeyer/debian/sponsor/">
 
 <!ENTITY url-rules-files "http://arch.debian.org/arch/private/srivasta/">
index 151d298..0691bbe 100644 (file)
@@ -10,6 +10,15 @@ developers-reference (3.3.5) unstable; urgency=low
       Closes: #202444, #202499, #203202, #203378, #221902, #226208
     - add hint about partitial key id. Closes: #243968
     - spohr is restriced, and also ftp-master. Closes: #255814
+    - bpp: Hint about locale generation as non-root. Closes: #208021
+    - bpp: deborphan-compliant transition packages. Closes: #183654
+    - add myself to uploaders.
+    - add chapter about i10n. Closes: #208156
+    - add information about dchroot. Closes: #211845
+    - add information about NEWS.Debian. Closes: #212402
+    - add information about mia-database. Closes: #213961
+    - add link to debian-mentors FAQ.
+    - add verbose information about the package description. Closes: #214792
   * Matt Zimmerman
     - Security uploads get urgency=high
     - Be even more explicit about not uploading security updates
index 1c34eed..cc26a90 100644 (file)
@@ -2,7 +2,7 @@ Source: developers-reference
 Section: doc
 Priority: optional
 Maintainer: Adam Di Carlo <aph@debian.org>
-Uploaders: Manoj Srivastava <srivasta@debian.org>, Raphael Hertzog <hertzog@debian.org>
+Uploaders: Manoj Srivastava <srivasta@debian.org>, Raphael Hertzog <hertzog@debian.org>, Andreas Barth <aba@not.so.argh.org>
 Standards-Version: 3.5.10
 Build-Depends-Indep: debiandoc-sgml (>= 1.1.76), tetex-bin, tetex-extra, debhelper (>= 4.1.32)
 
index 5c10c64..14784c5 100644 (file)
@@ -6,7 +6,7 @@
   <!ENTITY % commondata  SYSTEM "common.ent" > %commondata;
 
   <!-- CVS revision of this document -->
-  <!ENTITY cvs-rev "$Revision: 1.230 $">
+  <!ENTITY cvs-rev "$Revision: 1.231 $">
 
   <!-- if you are translating this document, please notate the CVS
        revision of the original developer's reference in cvs-en-rev -->
@@ -125,7 +125,8 @@ with you on your package and upload it to the Debian archive once they
 are happy with the packaging work you have done.  You can find a sponsor
 by mailing the &email-debian-mentors; mailing list, describing your
 package and yourself and asking for a sponsor (see <ref id="sponsoring">
-for more information on sponsoring).  On the other hand, if you are
+and <url id="&url-mentors;"> for more information on sponsoring).
+On the other hand, if you are
 interested in porting Debian to alternative architectures or kernels
 you can subscribe to port specific mailing lists and ask there how to
 get started.  Finally, if you are interested in documentation or
@@ -255,7 +256,8 @@ but are waiting for your new maintainer application to go through, you
 might be able find a sponsor to upload your package for you.  Sponsors
 are people who are official Debian maintainers, and who are willing to
 criticize and upload your packages for you.  Those who are seeking a
-sponsor can request one at <url id="&url-sponsors;">.
+sponsor can request one at <url id="&url-sponsors;">. Please read the
+inofficial debian-mentors FAQ at <url id="&url-mentors;"> first.
        <p>
 If you wish to be a mentor and/or sponsor, more information is
 available in <ref id="newmaint">.
@@ -684,6 +686,20 @@ To request a CVS area, send a request via email to
 &email-debian-admin;.  Include the name of the requested CVS area,
 the Debian account that should own the CVS root area, and why you need it.
 
+      <sect1 id="dchroot">chroots to different distributions
+       <p>
+On some machines, there are chroots to different distributions available.
+You can use them like
+
+<example>
+vore% dchroot unstable
+Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable
+</example>
+
+In all chroots, the normal user home directories are available.
+You can find out which chroots are available via
+<tt>&url-devel-machines;</tt>.
+
 
     <sect id="devel-db">The Developers Database
        <p>
@@ -3369,6 +3385,32 @@ spell-check it.  <prgn>ispell</prgn> has a special <tt>-g</tt> option
 for <file>debian/control</file> files:
 
 <example>ispell -d american -g debian/control</example>
+           <p>
+User usually expect these questions to be answered in the package
+description.
+       <list>
+       <item>
+What does the package do? If it is an add-on to another package,
+then the short description of the package we are an add on to
+should be put in here.
+       <item>
+Why should I want this package?  This is related  to the above,
+but not the same (this is a mail user agent; this is cool, fast,
+interfaces with pgp and ldap and imap, has features X, Y, and Z).
+       <item>
+If this package should not be installed directly, but is pulled in
+by another package, this should be mentioned.
+       <item>
+If the package is experimental, or there are other reasons it
+should not be used, if there are other packages that should be
+used instead, it should be here as well.
+       <item>
+How is this package different from the competition? Is it a better
+implementation? more features? different features? Why should I
+choose this package (2. should talk about the class of packages, and
+this about this particular package, if you have information related to both).
+       </list>
+
         </sect1>
 
 
@@ -3534,6 +3576,44 @@ changelog).
 Where's the description?  If you can't think of a descriptive message,
 start by inserting the title of each different bug.
         </sect1>
+       
+       <sect1 id="bpp-news-debian">
+          <heading>Suplimenting changelogs with NEWS.Debian files</heading>
+         <p>
+Important news about changes in a package can also be put in NEWS.Debian
+files. The news will be displayed by tools like apt-listchanges, before
+all the rest of the changelogs. This is the preferred means to let the user
+know about significant changes in a package. It is better than using
+debconf notes since it is less annoying and the user can go back and refer
+to the NEWS.Debian file after the install. And it's better than listing
+major changes in README.Debian, since the user can easily miss such notes.
+         <p>
+The file format is the same as a debian changelog file, but leave off
+the asterisks and describe each news item with a full paragraph when
+necessary rather than the more concise summaries that would go in a
+changelog. It's a good idea to run your file through dpkg-parsechangelog to
+check its formatting as it will not be automatically checked during build
+as the changelog is. Here is an example of a real NEWS.Debian file:
+<example>
+cron (3.0pl1-74) unstable; urgency=low
+
+    The checksecurity script is no longer included with the cron package:
+    it now has its own package, "checksecurity". If you liked the
+    functionality provided with that script, please install the new
+    package.
+
+ -- Steve Greenland &lt;stevegr&amp;debian.org&gt;  Sat,  6 Sep 2003 17:15:03 -0500
+</example>
+          <p>
+The NEWS.Debian file is installed as
+/usr/share/doc/&lt;package&gt;/NEWS.Debian.gz. It is compressed, and
+always has that name even in Debian native packages. If you use debhelper,
+dh_installchangelogs will install debian/NEWS files for you.
+          <p>
+Unlike changelog files, you need not update NEWS.Debian files with every
+release. Only update them if you have something particularly newsworthy
+that user should know about. If you have no news at all, there's no need
+to ship a NEWS.Debian file in your package. No news is good news!
       </sect>
 
 <!--
@@ -3809,8 +3889,52 @@ architecture-independent data also reduces processing time of
 <prgn>lintian</prgn> or <prgn>linda</prgn> (see <ref id="tools-lint">)
 when run over the entire Debian archive.
         </sect1>
-      </sect>
 
+
+       <sect1 id="bpp-locale">
+          <heading>Needing a certain locale during build</heading>
+          <p>
+If you need a certain locale during build, you can create a temporary
+file via this trick:
+       <p>
+If you set LOCPATH to the equivalent of /usr/lib/locale, and LC_ALL to
+the name of the locale you generate, you should get what you want
+without being root.  Something like this:
+
+<example>
+LOCALE_PATH=debian/tmpdir/usr/lib/locale
+LOCALE_NAME=en_IN
+LOCALE_CHARSET=UTF-8
+
+mkdir -p $LOCALE_PATH
+localedef -i "$LOCALE_NAME.$LOCALE_CHARSET" -f "$LOCALE_CHARSET" "$LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET"
+
+# Using the locale
+LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date
+</example>
+        </sect1>
+
+       <sect1 id="bpp-transition">
+          <heading>Make transition packages deborphan compliant</heading>
+          <p>
+Deborphan is a program helping users to detect which packages can be safely
+removed from the system, ie the ones that have no packages depending on
+them. The default operation is to search only within the libs and oldlibs
+sections, to hunt down unused libraries. But when passed the right argument,
+it tries to catch other useless packages. 
+          <p>
+For example, with --guess-dummy, tries to search all transitionnal packages
+which were needed for upgrade but which can now safely be removed. For that,
+it looks for the string "dummy" or "transitional" in their short
+description.
+          <p>
+So, when you are creating ssuch a package, please make sure to add this text
+to your short description. If you are looking for example, just run: 
+  <example>apt-cache search .|grep dummy</example> or
+  <example>apt-cache search .|grep transitional</example>.
+        </sect1>
+
+      </sect>
     </chapt>
 
 
@@ -3965,6 +4089,19 @@ their packages. It is possible that they are not active any more, but
 haven't registered out of the system, so to speak. On the other hand,
 it is also possible that they just need a reminder.
       <p>
+There is a simple system (the MIA database) in which information about
+maintainers who are deemed inactive are recorded.  When a member of the
+QA group contacts an inactive maintainer or finds more information about
+them, this is recorded in the MIA database.  This system is available
+in /org/qa.debian.org/mia on the host qa.debian.org, and can be queried
+with a tool known as <prgn>mia-history</prgn>.  By default,
+<prgn>mia-history</prgn> shows information about every person it knows
+about, but it accepts regular expressions as arguments which it uses to
+match user names.  <example>mia-history --help</example> shows which
+arguments are accepted.  If you find that no information has been recorded
+about an inactive maintainer already, or that you can add more information,
+you will generally proceed as follows.
+      <p>
 The first step is to politely contact the maintainer, and wait for a
 response, for a reasonable time. It is quite hard to define "reasonable
 time", but it is important to take into account that real life is sometimes
@@ -4108,6 +4245,181 @@ Please see <url id="&url-newmaint-amchecklist;" name="Checklist for
 Application Managers"> at the Debian web site.
 
 
+    <chapt id="l10n">Internationalizing, translating, being internationalized
+    and being translated
+      <p>
+Debian supports an ever-increasing number of natural languages. Even if you are
+native English speaker and do not speak any other language, it is part of your
+duty as a maintainer to be aware of issues of internationalization (abbreviated
+i18n because there are 18 letters between the 'i' and the 'n' in
+internationalization). Therefore, even if you are ok with English only
+programs, you should read most of this chapter.
+      <p>
+According to <url id="http://www.debian.org/doc/manuals/intro-i18n/"
+name="Introduction to i18n"> from Tomohiro KUBOTA, "I18N (internationalization)
+means modification of a software or related technologies so that a software can
+potentially handle multiple languages, customs, and so on in the world." while
+"L10N (localization) means implementation of a specific language for an already
+internationalized software."
+      <p>
+l10n and i18n are tied, but the difficulties related to each of them are very
+different. It's not really difficult to allow a program to change the language
+in which texts are displayed based on user settings, but it is very time
+consuming to actually translate these messages. On the other hand, setting the
+character encoding is trivial, but adapting the code to use several character
+encodings is a really hard problem.
+      <p>
+Letting alone the i18n problems, where no general receipt exist, there is
+actually no central infrastructure for l10n within Debian which could be
+compared to the dbuild mechanism for porting. So, most of the work has to be
+done manually.
+
+
+       <sect id="l10n-handling">How translations are handled within Debian
+         <p>
+Handling translation of the texts contained in a package is still a manual
+task, and the process depends on the kind of text you want to see translated.
+         <p>
+For program messages, the gettext infrastructure is used most of the time.
+Most of the time, the translation is handled upstream within projects like the
+<url id="http://www.iro.umontreal.ca/contrib/po/HTML/" name="Free Translation
+Project">, the <url id="http://developer.gnome.org/projects/gtp/" name="Gnome
+translation Project"> or the <url id="http://i18n.kde.org/" name="KDE one">.
+The only centralized resource within Debian is the <url
+id="http://www.debian.org/intl/l10n/" name="Central Debian translation
+statistics">, where you can find some statistics about the translation files
+found in the actual package, but no real infrastructure to ease the translation
+process.
+         <p>
+An effort to translate the package descriptions started long ago even if very
+few support is offered by the tools to actually use them (ie, only APT can use
+them, when configured correctly). There is nothing to do for the maintainers,
+and the translators should use the <url id="http://ddtp.debian.org/"
+name="DDTP">.
+         <p>
+For debconf templates, maintainer should use the po-debconf package to ease the
+work of translators, which could use the DDTP to do their work (but French and
+Brazilian teams don't). Some statistics can be found both on the DDTP site
+(about what is actually translated), and on the <url
+id="http://www.debian.org/intl/l10n/" name="Central Debian translation
+statistics"> site (about what is integrated in the packages). 
+         p>
+For web pages, each l10n team has access to the relevant CVS, and the statistics
+are available from the Central Debian translation statistics site.
+         <p>
+For general documentation about Debian, the process is more or less the same
+than for the web pages (the translators have an access to the CVS), but there is
+no statistics pages.
+         <p>
+For package specific documentation (man pages, info document, other formats),
+almost everything have yet to be done. Most notably, the KDE project handles
+translation of its documentation in the same way as its program messages.
+Debian specific man pages begin to be handled within a <url
+id="http://cvs.debian.org/manpages/?cvsroot=debian-doc" name="specific CVS
+repository"> .
+
+
+       <sect id="l10n-faqm">I18N &amp; L10N FAQ for maintainers
+         <p>
+This is a list of problems that maintainers may face concerning i18n and l10n.
+While reading this, keep in mind that there is no real consensus on those
+points within Debian, and that they are only advices. If you have a better idea
+for a given problem, or if you disagree on some points, feel free to provide
+your feedback, so that this document can be enhanced.
+
+         <sect1 id="l10n-faqm-tr">How to get a given text translated?
+           <p>
+To translate package description or debconf templates, you have nothing to do,
+the DDTP infrastructure will dispatch the material to translate to volunteers
+with no need for interaction from your part.
+           <p>
+For all other material (gettext files, man pages or other documentation), the
+best solution is to put your text somewhere on Internet, and ask on debian-i18n
+for a translation in the different languages. Some translation team members are
+subscribed to this list, and they will take care of the translation and of the
+reviewing process. Once done, you will get your translated document from them
+in your mailbox.
+
+         <sect1 id="l10n-faqm-rev">How to get a given translation reviewed?
+           <p>
+>From time to time, individuals translate some texts included in your package
+and will ask you for inclusion in the package. This can become problematic if
+you are not fluent in the given language. It is a good idea to send the
+document to the corresponding l10n mailing list, asking for a review. Once it
+has been done, you should feel more confident in the quality of the
+translation, and include it fearlessly into your package.
+
+         <sect1 id="l10n-faqm-update">How to get a given translation updated?
+           <p>
+If you have some translations of a given text laying around, each time you
+update the original, you should kindly ask to the previous translator to update
+his/her work to make the translation up to date with regard to the current
+original text. Keep in mind that this task takes time, at least one week to get
+the update reviewed and all. 
+           <p>
+If the translator is unresponsive, you may ask for help to the corresponding
+l10n mailing list. If everything fails, don't forget to put a warning in the
+translated document, stating that the translation is somehow outdated, and that
+the reader should refer to the original document if possible. 
+           <p>
+Avoid removing completely a translation because it is outdated. An old
+documentation is often better than no documentation at all for non-English
+speaker.
+
+         <sect1 id="l10n-faqm-bug">How to handle a bug report concerning a translation?
+           <p>
+The best solution may be to mark the bug as "forwarded to upstream", and
+forward it to both the previous translator and his/her team (using the
+corresponding debian-l10n-XXX mailing list).
+
+       <sect id="l10n-faqtr">I18N &amp; L10N FAQ for translators
+         <p>
+While reading this, please keep in mind that there is no general procedure
+within Debian concerning those points, and that in any case, you should
+collaborate with your team and the package maintainer.
+
+         <sect1 id="l10n-faqtr-help">How to help the translation effort?
+           <p>
+Choose what you want to translate, make sure that nobody is already working on
+it (using your debian-l10n-XXX mailing list), translate it, get it reviewed by
+other native speakers on your l10n mailing list, and provide it to the
+maintainer of the package (see next point).
+
+         <sect1 id="l10n-faqtr-inc">How to provide a translation for inclusion in a package?
+           <p>
+Make sure your translation is correct (asking for review on your l10n mailing
+list) before providing it for inclusion. It will save time for everyone, and
+avoid the chaos resulting in having several versions of the same document in
+bug reports.
+           <p>
+The best solution is to fill a regular bug containing the translation against
+the package. Make sure to use the 'PATCH' tag, and to not use a gravity higher
+than 'wishlist', since the lack of translation never prevented a program from
+running.
+
+       <sect id="l10n-best">Best current practice concerning l10n
+         <p>
+<list>
+    <item>
+As a maintainer, never edit the translations in any way (even to reformat the
+layout) without asking to the corresponding l10n mailing list. You risk for
+example to break the encoding of the file by doing so. Moreover, what you
+consider as an error can be right (or even needed) in the given language.
+    <item>
+As a translator, if you find an error in the original text, make sure to report
+it. Translators are often the most attentive readers of a given text, and if
+they don't report the errors they find, nobody will.
+    <item>
+In any case, remember that the major issue with l10n is that it requires
+several people to cooperate, and that it is very easy to start a flamewar about
+small problems because of misunderstanding. So, if you have problems with your
+interlocutor, ask for help on the corresponding l10n mailing list, on
+debian-i18n, or even on debian-devel (but beware, l10n discussions very often
+become flamewars on that list :)
+    <item>
+In any case, cooperation can only be achieved with <strong>mutual respect</strong>.
+</list>
+
 
     <appendix id="tools">Overview of Debian Maintainer Tools
       <p>