[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#620870: debian-policy: Please add /run as FHS exception



On Sun, Jan 01, 2012 at 09:58:45AM -0800, Russ Allbery wrote:

> Comments, objections, seconds?

Seconded.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

> diff --git a/policy.sgml b/policy.sgml
> index 79281e9..0bdc891 100644
> --- a/policy.sgml
> +++ b/policy.sgml
> @@ -6246,6 +6246,25 @@ 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
> @@ -6388,6 +6407,35 @@ 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>
> +
> +	  <p>
> +	    Packages should use <file>/run</file> in preference
> +	    to <file>/var/run</file> and <file>/run/lock</file> in
> +	    preference to <file>/var/lock</file>.
> +	  </p>
> +	</sect1>
>        </sect>
>  
>        <sect>
> @@ -6762,15 +6810,14 @@ 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 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.
> +            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>
>  
> -- 
> Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>
> 
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-policy-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] 878vlrb8yy.fsf@windlord.stanford.edu">http://lists.debian.org/[🔎] 878vlrb8yy.fsf@windlord.stanford.edu
> 



Reply to: