]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - policy.sgml
Allow /run and /run/lock, document purpose of /run
[debian/debian-policy.git] / policy.sgml
index 8ad0613f134fec105a51d63dbfa48cde6419f642..f512315708535d5dc0691533da2f1ef7a48b8280 100644 (file)
            <item><ref id="fhs"></item>
            <item><ref id="virtual_pkg"></item>
            <item><ref id="menus"></item>
-           <item><ref id="mime"></item>
            <item><ref id="perl"></item>
            <item><ref id="maintscriptprompt"></item>
            <item><ref id="emacs"></item>
@@ -6250,11 +6249,30 @@ install -m644 debian/shlibs.<var>package</var> debian/<var>package</var>/DEBIAN/
               <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>
+                  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>
               </item>
              <item>
                <p>
@@ -6763,15 +6781,17 @@ test -f <var>program-executed-later-in-script</var> || exit 0
          </p>
 
          <p>
-           <file>/var/run</file> and <file>/var/lock</file> may be mounted
-           as temporary filesystems<footnote>
-               For example, using the <tt>RAMRUN</tt> and <tt>RAMLOCK</tt>
-               options in <file>/etc/default/rcS</file>.
-           </footnote>, so the <file>init.d</file> scripts must handle this
-           correctly. This will typically amount to creating any required
-           subdirectories dynamically when the <file>init.d</file> script
-           is run, rather than including them in the package and relying on
-           <prgn>dpkg</prgn> to create them.
+            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
+            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.
          </p>
        </sect1>
 
@@ -7301,7 +7321,7 @@ Reloading <var>description</var> configuration...done.
          MIME (Multipurpose Internet Mail Extensions, RFCs 2045-2049)
          is a mechanism for encoding files and data streams and
          providing meta-information about them, in particular their
-         type (e.g.  audio or video) and format (e.g. PNG, HTML,
+         type (e.g. audio or video) and format (e.g. PNG, HTML,
          MP3).
        </p>
 
@@ -7318,11 +7338,25 @@ Reloading <var>description</var> configuration...done.
        </p>
 
        <p>
-         The MIME support policy can be found in the <tt>mime-policy</tt>
-         files in the <tt>debian-policy</tt> package.
-         It is also available from the Debian web mirrors at
-          <tt><url name="/doc/packaging-manuals/mime-policy/"
-               id="http://www.debian.org/doc/packaging-manuals/mime-policy/"></tt>.
+         The <package>mime-support</package> package provides the
+         <prgn>update-mime</prgn> program which allows packages to
+         register programs that can show, compose, edit or print
+         MIME types.
+       </p>
+
+       <p>
+         Packages containing such programs must register them
+         with <prgn>update-mime</prgn> as documented in <manref
+         name="update-mime" section="8">. They should <em>not</em> depend
+         on, recommend, or suggest <prgn>mime-support</prgn>. Instead,
+         they should just put something like the following in the
+         <tt>postinst</tt> and <tt>postrm</tt> scripts:
+
+         <example>
+  if [ -x /usr/sbin/update-mime ]; then
+      update-mime
+  fi
+         </example>
        </p>
 
       </sect>