]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - policy.sgml
Recommend <package> documentation go in /usr/share/doc/<package>
[debian/debian-policy.git] / policy.sgml
index 4855506e6105556bc6db756e712ed4f849dcbc68..d8e6efe5b6ea5327375c1ea99050e11677bbd4e1 100644 (file)
          <enumlist>
            <item>Russ Allbery</item>
            <item>Bill Allombert</item>
-           <item>Andrew McMillan</item>
-           <item>Manoj Srivastava</item>
-           <item>Colin Watson</item>
+           <item>Andreas Barth</item>
+           <item>Jonathan Nieder</item>
          </enumlist>
         </p>
 
@@ -1746,11 +1745,14 @@ zope.
 
        <p>
          The maintainer name and email address used in the changelog
-         should be the details of the person uploading <em>this</em>
-         version.  They are <em>not</em> necessarily those of the
-         usual package maintainer.<footnote>
-           If the developer uploading the package is not one of the usual
-           maintainers of the package (as listed in
+         should be the details of the person who prepared this release of
+         the package.  They are <em>not</em> necessarily those of the
+         uploader or usual package maintainer.<footnote>
+           In the case of a sponsored upload, the uploader signs the
+           files, but the changelog maintainer name and address are those
+           of the person who prepared this release.  If the preparer of
+           the release is not one of the usual maintainers of the package
+           (as listed in
            the <qref id="f-Maintainer"><tt>Maintainer</tt></qref>
            or <qref id="f-Uploaders"><tt>Uploaders</tt></qref> control
            fields of the package), the first line of the changelog is
@@ -1929,6 +1931,10 @@ zope.
          any target that these targets depend on must also be
          non-interactive.
        </p>
+       <p>
+          For packages in the main archive, no required targets
+          may attempt network access.
+       </p>
 
        <p>
          The targets are as follows:
@@ -2556,7 +2562,9 @@ Package: libc6
          the field name is <tt>Package</tt> and the field value
          <tt>libc6</tt>.
        </p>
-
+        <p> Empty field values are only permitted in source package control files
+         (<file>debian/control</file>). Such fields are ignored.
+        </p>
        <p>
          A paragraph must not contain more than one instance of a
          particular field name.
@@ -2699,6 +2707,7 @@ Package: libc6
          file. These tools are responsible for removing the line
          breaks from such fields when using fields from
          <file>debian/control</file> to generate other control files.
+         They are also responsible for discarding empty fields.
        </p>
 
        <p>
@@ -6972,8 +6981,7 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1)
                   <footnote>
                     This is necessary in order to reserve the directories for
                     use in cross-installation of library packages from other
-                    architectures, as part of the planned deployment of
-                    <tt>multiarch</tt>.
+                    architectures, as part of <tt>multiarch</tt>.
                   </footnote>
                 </p>
                 <p>
@@ -7053,6 +7061,11 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1)
                    kernel information.</footnote>
                </p>
              </item>
+             <item>
+                <p>
+                  The <file>/var/www</file> directory is additionally allowed. 
+                </p>
+             </item>
              <item>
                <p>
                   The requirement for <file>/usr/local/lib&lt;qual&gt;</file>
@@ -7343,6 +7356,35 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
              </item>
 
              <tag>65535:</tag>
+             <item>
+               <p>
+                 This value <em>must not</em> be used, because it was
+                 the error return sentinel value when <tt>uid_t</tt>
+                 was 16 bits.
+               </p>
+             </item>
+
+             <tag>65536-4294967293:</tag>
+             <item>
+               <p>
+                 Dynamically allocated user accounts.  By
+                 default <prgn>adduser</prgn> will not allocate UIDs
+                 and GIDs in this range, to ease compatibility with
+                 legacy systems where <tt>uid_t</tt> is still 16
+                 bits.
+               </p>
+             </item>
+
+             <tag>4294967294:</tag>
+             <item>
+               <p>
+                  <tt>(uid_t)(-2) == (gid_t)(-2)</tt> <em>must not</em> be
+                  used, because it is used as the anonymous, unauthenticated
+                  user by some NFS implementations.
+               </p>
+             </item>
+
+             <tag>4294967295:</tag>
              <item>
                <p>
                  <tt>(uid_t)(-1) == (gid_t)(-1)</tt> <em>must
@@ -8885,6 +8927,7 @@ fname () {
            would point to <file>/srv/run</file> rather than the intended
            target.
          </footnote>
+         Symbolic links must not traverse above the root directory.
        </p>
 
        <p>
@@ -9783,7 +9826,7 @@ http://localhost/cgi-bin/.../<var>cgi-bin-name</var>
                <package>doc-base</package> package.  If access to the
                web document root is unavoidable then use
                <example compact="compact">
-/var/www
+/var/www/html
                </example>
                as the Document Root.  This might be just a symbolic
                link to the location where the system administrator
@@ -10619,16 +10662,17 @@ END-INFO-DIR-ENTRY
        </p>
       </sect>
 
-      <sect>
+      <sect id="docs-additional">
        <heading>Additional documentation</heading>
 
        <p>
          Any additional documentation that comes with the package may
          be installed at the discretion of the package maintainer.
-         Plain text documentation should be installed in the directory
-         <file>/usr/share/doc/<var>package</var></file>, where
-         <var>package</var> is the name of the package, and
-          compressed with <tt>gzip -9</tt> unless it is small.
+       </p>
+
+       <p>
+         Plain text documentation should be compressed with <tt>gzip
+          -9</tt> unless it is small.
         </p>
 
        <p>
@@ -10638,6 +10682,25 @@ END-INFO-DIR-ENTRY
          take up disk space on the machines of users who do not need
          or want it installed.</p>
 
+       <p>
+         Additional documentation for <var>package</var>, whether the
+         documentation is packaged separately or not, should be
+         installed to the directory
+         <file>/usr/share/doc/<var>package</var></file> or its
+         subdirectories.<footnote>
+             Rationale: Once installed, the separation of the
+             documentation packaging should be invisible to the user,
+             and the documentation should be found in the expected
+             location for the main binary package.
+         </footnote>
+       </p>
+
+       <p>
+         Any separate package providing documentation must still
+         install files as specified in the rest of this policy; for
+         example, <ref id="copyrightfile"> and <ref id="changelogs">.
+       </p>
+
        <p>
          It is often a good idea to put text information files
          (<file>README</file>s, changelogs, and so forth) that come with
@@ -10699,16 +10762,16 @@ END-INFO-DIR-ENTRY
          via HTML.</p>
 
        <p>
-         If your package comes with extensive documentation in a
+         If the package comes with extensive documentation in a
          markup format that can be converted to various other formats
          you should if possible ship HTML versions in a binary
-         package, in the directory
-         <file>/usr/share/doc/<var>appropriate-package</var></file> or
-         its subdirectories.<footnote>
-             The rationale: The important thing here is that HTML
-             docs should be available in <em>some</em> package, not
-             necessarily in the main binary package.
+         package.<footnote>
+             Rationale: The important thing here is that HTML
+             documentation should be available from <em>some</em>
+             binary package.
          </footnote>
+         The documentation must be installed as specified in
+         <ref id="docs-additional">.
        </p>
 
        <p>