]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - policy.sgml
Fix typo in latest entry reported by Niko Tiny
[debian/debian-policy.git] / policy.sgml
index 953d5d258069f7947d29140249a6de43cf73a831..c5fd30586c505a1805f90e2d9b833ae2cf4a1c2e 100644 (file)
@@ -2367,8 +2367,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>
@@ -2542,7 +2541,7 @@ endif
          composed of US-ASCII characters excluding control characters,
          space, and colon (i.e., characters in the ranges 33-57 and
          59-126, inclusive).  Field names must not begin with the comment
-         character, <tt>#</tt>.
+         character, <tt>#</tt>, nor with the hyphen character, <tt>-</tt>.
        </p>
 
        <p>
@@ -2759,6 +2758,7 @@ Package: libc6
          <item><qref id="f-Uploaders"><tt>Uploaders</tt></qref></item>
          <item><qref id="f-Homepage"><tt>Homepage</tt></qref></item>
          <item><qref id="f-VCS-fields"><tt>Vcs-Browser</tt>, <tt>Vcs-Git</tt>, et al.</qref></item>
+         <item><qref id="f-Dgit"><tt>Dgit</tt></qref></item>
          <item><qref id="f-Standards-Version"><tt>Standards-Version</tt></qref> (recommended)</item>
          <item><qref id="sourcebinarydeps"><tt>Build-Depends</tt> et al</qref></item>
          <item><qref id="f-Package-List"><tt>Package-List</tt></qref> (recommended)</item>
@@ -3840,6 +3840,26 @@ Checksums-Sha256:
            this value is assumed for paragraphs lacking this field.
          </p>
        </sect1>
+
+       <sect1 id="f-Dgit">
+         <heading><tt>Dgit</tt></heading>
+
+         <p>
+           Folded field containing a single git commit hash, presented in
+           full, followed optionally by whitespace and other data to be
+           defined in future extensions.
+         </p>
+
+         <p>
+           Declares that the source package corresponds exactly to a
+           referenced commit in a Git repository available at the canonical
+           location called <em>dgit-repos</em>, used by <prgn>dgit</prgn>, a
+           bidirectional gateway between the Debian archive and Git.  The
+           commit is reachable from at least one reference whose name matches
+           <tt>refs/dgit/*</tt>.  See the manual page of <prgn>dgit</prgn> for
+           further details.
+         </p>
+       </sect1>
       </sect>
 
       <sect>
@@ -6897,6 +6917,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
@@ -6942,6 +6976,17 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1)
                     <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>
                   Applications may also use a single subdirectory under
                   <file>/usr/lib/<var>triplet</var></file>.
@@ -7000,15 +7045,24 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1)
                  stable release of Debian supports <file>/run</file>.
                </p>
              </item>
-              <item>
-                <p>
-                  The following directories in the root filesystem are
-                  additionally allowed: <file>/sys</file> and
-                  <file>/selinux</file>. <footnote>These directories
-                  are used as mount points to mount virtual filesystems
-                  to get access to kernel information.</footnote>
-                </p>
-              </item>
+             <item>
+               <p>
+                 The <file>/sys</file> directory in the root filesystem is
+                 additionally allowed. <footnote>This directory is used as
+                   mount point to mount virtual filesystems to get access to
+                   kernel information.</footnote>
+               </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
@@ -8412,7 +8466,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
@@ -8853,7 +8917,9 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
        </p>
 
        <p>
-         A symbolic link pointing to a compressed file should always
+         A symbolic link pointing to a compressed file (in the sense
+         that it is meant to be uncompressed with <prgn>unzip</prgn>
+         or <prgn>zless</prgn> etc.) should always
          have the same file extension as the referenced file. (For
          example, if a file <file>foo.gz</file> is referenced by a
          symbolic link, the filename of the link has to end with
@@ -8987,8 +9053,10 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
                  package is purged.
              </item>
            </list>
-           Obsolete configuration files without local changes may be
-           removed by the package during upgrade.
+           Obsolete configuration files without local changes should be
+           removed by the package during upgrade.<footnote>
+             The <prgn>dpkg-maintscript-helper</prgn> tool, available from the
+             <package>dpkg</package> package, can help for this task.</footnote>
          </p>
 
          <p>
@@ -9471,6 +9539,23 @@ done
          </p>
        </sect1>
       </sect>
+
+      <sect id="filenames">
+       <heading>File names</heading>
+
+        <p>
+         The name of the files installed by binary packages in the system PATH
+         (namely <tt>/bin</tt>, <tt>/sbin</tt>, <tt>/usr/bin</tt>,
+         <tt>/usr/sbin</tt> and <tt>/usr/games</tt>) must be encoded in
+         ASCII.
+       </p>
+
+       <p>
+         The name of the files and directories installed by binary packages
+         outside the system PATH must be encoded in UTF-8 and should be
+         restricted to ASCII when it is possible to do so.
+       </p>
+      </sect>
     </chapt>
 
 
@@ -9657,15 +9742,16 @@ done
                Cgi-bin executable files are installed in the
                directory
                <example compact="compact">
-/usr/lib/cgi-bin/<var>cgi-bin-name</var>
+/usr/lib/cgi-bin
+               </example>
+               or a subdirectory of that directory, and the script
+               <example compact="compact">
+/usr/lib/cgi-bin/.../<var>cgi-bin-name</var>
                </example>
-               or a subdirectory of that directory, and should be
-               referred to as
+               should be referred to as
                <example compact="compact">
-http://localhost/cgi-bin/<var>cgi-bin-name</var>
+http://localhost/cgi-bin/.../<var>cgi-bin-name</var>
                </example>
-               (possibly with a subdirectory name
-               before <var>cgi-bin-name</var>).
            </item>
 
            <item>