]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - policy.sgml
Policy: [9.2.2] document 32-bit uids
[debian/debian-policy.git] / policy.sgml
index f866dd39bde187eb152ddde531706934246b6120..947a1e1561e4d80d3435c00103d8cbee8e05d1b2 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
@@ -2367,8 +2369,7 @@ endif
           This is an optional, recommended configuration file for the
           <tt>uscan</tt> utility which defines how to automatically scan
           ftp or http sites for newly available updates of the
-          package. This is used
-          by <url id="http://dehs.alioth.debian.org/"> and other Debian QA
+          package. This is used Debian QA
           tools to help with quality control and maintenance of the
           distribution as a whole.
         </p>
@@ -3674,7 +3675,7 @@ Files:
          <p>
            The special value <tt>byhand</tt> for the section in a
            <tt>.changes</tt> file indicates that the file in question
-           is not an ordinary package file and must by installed by
+           is not an ordinary package file and must be installed by
            hand by the distribution maintainers.  If the section is
            <tt>byhand</tt> the priority should be <tt>-</tt>.
          </p>
@@ -6918,6 +6919,20 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1)
            exceptions to the FHS apply:
 
             <enumlist>
+              <item>
+                <p>
+                The FHS requirement that architecture-independent
+                application-specific static files be located in
+                <file>/usr/share</file> is relaxed to a suggestion.
+
+                In particular, a subdirectory of <file>/usr/lib</file> may
+                be used by a package (or a collection of packages) to hold a
+                mixture of architecture-independent and
+                architecture-dependent files. However, when a directory is
+                entirely composed of architecture-independent files, it
+                should be located in <file>/usr/share</file>.
+                </p>
+              </item>
               <item>
                 <p>
                   The optional rules related to user specific
@@ -6959,8 +6974,18 @@ 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>
+                  The requirement for C and C++ headers files to be
+                  accessible through the search path
+                  <file>/usr/include/</file> is amended, permitting files to
+                  be accessible through the search path
+                  <file>/usr/include/<var>triplet</var></file> where
+                  <tt><var>triplet</var></tt> is as above.  <footnote>
+                    This is necessary for architecture-dependant headers
+                    file to coexist in a <tt>multiarch</tt> setup.
                   </footnote>
                 </p>
                 <p>
@@ -7029,6 +7054,21 @@ 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>
+                  to exist if <file>/lib&lt;qual&gt;</file> or
+                  <file>/usr/lib&lt;qual&gt;</file> exists (where 
+                  <file>lib&lt;qual&gt;</file> is a variant of
+                  <file>lib</file> such as <file>lib32</file> or
+                  <file>lib64</file>) is removed.
+                  </p>
+             </item>
              <item>
                <p>
                  On GNU/Hurd systems, the following additional
@@ -7309,6 +7349,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
@@ -8432,7 +8501,17 @@ fi
          renamed.  If a consensus cannot be reached, <em>both</em>
          programs must be renamed.
        </p>
-
+       <p>
+          Binary executables must not be statically linked with the GNU C
+          library, since this prevents the binary from benefiting from
+          fixes and improvements to the C library without being rebuilt
+          and complicates security updates.  This requirement may be
+          relaxed for binary executables whose intended purpose is to
+          diagnose and fix the system in situations where the GNU C
+          library may not be usable (such as system recovery shells or
+          utilities like ldconfig) or for binary executables where the
+          security benefits of static linking outweigh the drawbacks.
+       </p>
        <p>
          By default, when a package is being built, any binaries
          created should include debugging information, as well as
@@ -8841,6 +8920,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>
@@ -9739,7 +9819,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