]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - policy.sgml
Fix cross reference to control field syntax
[debian/debian-policy.git] / policy.sgml
index f512315708535d5dc0691533da2f1ef7a48b8280..9e822e27fbdf699eefd173fa9c9907f02ad04995 100644 (file)
          <tt><url name="/doc/developers-reference/"
                id="http://www.debian.org/doc/developers-reference/"></tt>.
        </p>
+
+       <p>
+         Finally, a <qref id="copyrightformat">specification for
+         machine-readable copyright files</qref> is maintained as part of
+         the <package>debian-policy</package> package using the same
+         procedure as the other policy documents.  Use of this format is
+         optional.
+       </p>
       </sect>
 
       <sect id="definitions">
              <item>
                  must not require or recommend a package outside
                  of <em>main</em> for compilation or execution (thus, the
-                 package must not declare a "Depends", "Recommends", or
-                 "Build-Depends" relationship on a non-<em>main</em>
-                 package),
+                 package must not declare a "Pre-Depends", "Depends",
+                 "Recommends", "Build-Depends", or "Build-Depends-Indep"
+                 relationship on a non-<em>main</em> package),
              </item>
              <item>
                  must not be so buggy that we refuse to support them,
@@ -2696,7 +2704,7 @@ Package: libc6
        <p>
          This file consists of a single paragraph, possibly surrounded by
          a PGP signature. The fields of that paragraph are listed below.
-         Their syntax is described above, in <ref id="pkg-controlfields">.
+         Their syntax is described above, in <ref id="controlsyntax">.
 
        <list compact="compact">
          <item><qref id="f-Format"><tt>Format</tt></qref> (mandatory)</item>
@@ -4628,7 +4636,7 @@ Depends: libc6 (>= 2.2.1), exim | mail-transport-agent
          Relationships may be restricted to a certain set of
          architectures.  This is indicated in brackets after each
          individual package name and the optional version specification.
-         The brackets enclose a list of Debian architecture names
+         The brackets enclose a non-empty list of Debian architecture names
          in the format described in <ref id="arch-spec">,
          separated by whitespace.  Exclamation marks may be prepended to
          each of the names.  (It is not permitted for some names to be
@@ -6246,33 +6254,33 @@ install -m644 debian/shlibs.<var>package</var> debian/<var>package</var>/DEBIAN/
                   symlinked there, is relaxed to a recommendation.
                 </p>
               </item>
+             <item>
+               <p>
+                 The additional directory <file>/run</file> in the root
+                 file system is allowed.  <file>/run</file>
+                 replaces <file>/var/run</file>, and the
+                 subdirectory <file>/run/lock</file>
+                 replaces <file>/var/lock</file>, with
+                 the <file>/var</file> directories replaced by symlinks
+                 for backwards compatibility.  <file>/run</file>
+                 and <file>/run/lock</file> must follow all of the
+                 requirements in the FHS for <file>/var/run</file>
+                 and <file>/var/lock</file>, respectively, such as file
+                 naming conventions, file format requirements, or the
+                 requirement that files be cleared during the boot
+                 process.  Files and directories residing
+                 in <file>/run</file> should be stored on a temporary
+                 file system.
+               </p>
+             </item>
               <item>
                 <p>
                   The following directories in the root filesystem are
-                  additionally allowed: <file>/run</file>,
-                  <footnote>
-                    The purpose of the /run hierarchy is storage of ephemeral
-                    system state, that is, state information that should
-                    not be preserved across a reboot.
-                    Files and directories residing in <file>/run</file>
-                    should be stored on a temporary filesystem.
-                    The <file>/run</file> directory is a
-                    replacement for <file>/var/run</file>; its
-                    subdirectory <file>/run/lock</file> is a replacement for
-                    <file>/var/lock</file>.
-                    /run/ and /run/lock/ have been introduced
-                    by most distributions and are on track to be 
-                    endorsed by the FHS.
-                    Additionally, the subdirectory <file>/run/shm</file>
-                    is a replacement for <file>/dev/shm</file>.
-                  </footnote>
-                  <file>/sys</file> and <file>/selinux</file>.
-                  <footnote>
-                    The <file>/sys</file> and <file>/selinux</file>
-                    directories are mount points where
-                    virtual filesystems are mounted which provide access
-                    to kernel information.
-                  </footnote>
+                  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>
@@ -6407,6 +6415,29 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
            though the spool may still be physically located there.
          </p>
        </sect1>
+
+       <sect1 id="fhs-run">
+         <heading><file>/run</file> and <file>/run/lock</file></heading>
+
+         <p>
+           The directory <file>/run</file> is cleared at boot, normally
+           by being a mount point for a temporary file system.  Packages
+           therefore must not assume that any files or directories
+           under <file>/run</file> other than <file>/run/lock</file>
+           exist unless the package has arranged to create those files or
+           directories since the last reboot.  Normally, this is done by
+           the package via an init script.  See <ref id="writing-init">
+           for more information.
+         </p>
+
+         <p>
+           Packages must not include files or directories
+           under <file>/run</file>, or under the
+           older <file>/var/run</file> and <file>/var/lock</file> paths.
+           The latter paths will normally be symlinks or other
+           redirections to <file>/run</file> for backwards compatibility.
+         </p>
+       </sect1>
       </sect>
 
       <sect>
@@ -6781,17 +6812,14 @@ test -f <var>program-executed-later-in-script</var> || exit 0
          </p>
 
          <p>
-            Files and directories under <file>/run</file>, including those
-            in directories <file>/var/run</file> and <file>/var/lock</file>
-            which are symlinks or bind mounts to subdirectories of
-            <file>/run</file>, are normally stored on a temporary
+            Files and directories under <file>/run</file>, including ones
+            referred to via the compatibility paths <file>/var/run</file>
+            and <file>/var/lock</file>, are normally stored on a temporary
             filesystem and are normally not persistent across a reboot.
-            Consequently, packages cannot assume that these files or
-            directories are present at system boot time.
-            Files and directories under <file>/run</file> must not be
-            included in packages; such files or directories
-            must be created dynamically, for example, in the
-            <file>init.d</file> script.
+            The <file>init.d</file> scripts must handle this correctly.
+            This will typically mean creating any required subdirectories
+            dynamically when the <file>init.d</file> script is run.
+            See <ref id="fhs-run"> for more information.
          </p>
        </sect1>
 
@@ -9893,7 +9921,27 @@ END-INFO-DIR-ENTRY
          You should not use the copyright file as a general <file>README</file>
          file.  If your package has such a file it should be
          installed in <file>/usr/share/doc/<var>package</var>/README</file> or
-         <file>README.Debian</file> or some other appropriate place.</p>
+         <file>README.Debian</file> or some other appropriate place.
+       </p>
+
+       <sect1 id="copyrightformat">
+         <heading>Machine-readable copyright information</heading>
+
+         <p>
+           A specification for a standard, machine-readable format
+           for <file>debian/copyright</file> files is maintained as part
+           of the <package>debian-policy</package> package.  This
+           document may be found in the <file>copyright-format</file>
+           files in the <package>debian-policy</package> package.  It is
+           also available from the Debian web mirrors at
+           <tt><url name="/doc/packaging-manuals/copyright-format/1.0/"
+                    id="http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/"></tt>.
+         </p>
+
+         <p>
+           Use of this format is optional.
+         </p>
+       </sect1>
       </sect>
 
       <sect>
@@ -11349,7 +11397,7 @@ END-INFO-DIR-ENTRY
      dpkg-divert --package smailwrapper --remove --rename \
         --divert /usr/sbin/smail.real /usr/sbin/smail
   fi
-       </example> where <tt>1.02-2</tt> is the version at which the
+       </example> where <tt>1.0-2</tt> is the version at which the
        diversion was first added to the package.  The postrm should not
        remove the diversion on upgrades both because there's no reason to
        remove the diversion only to immediately re-add it and since the