Bug#514326: debian-policy: fhs-2.3 doesn't specify that /var/run and /var/lock may be volatile ref rcS(5)
On Sun, Feb 15, 2009 at 05:49:58PM +0000, Ian Jackson wrote:
> Tim Small writes ("Bug#514326: debian-policy: fhs-2.3 doesn't specify that /var/run and /var/lock may be volatile ref rcS(5)"):
> > "
> > It should not be assumed that the contents of this directory will
> > persist after a system reboot.
> > "
>
> I second this suggestion. Does Tim's proposed phrasing make it clear
> enough that all subdirectory structure may vanish ?
I also second this. Tim was referring to the text of the FHS, though
(see the subject line), which I don't think we ought to modify in
debian-policy for this.
The code that tends to suffer from this problem is init scripts, and so
I think it would be sensible to add a requirement in that section of the
policy manual proper. Here's a suggested patch (note that this adds a
new "must"; other policy editors, is that a problem? I'd be happy to
downgrade to a "should" if people are uncomfortable with it):
diff --git a/policy.sgml b/policy.sgml
index 36f51aa..75b236b 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -6065,6 +6065,18 @@ test -f <var>program-executed-later-in-script</var> || exit 0
script must behave sensibly and not fail if the
<file>/etc/default</file> file is deleted.
</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.
+ </p>
</sect1>
<sect1>
--
Colin Watson [cjwatson@debian.org]
Reply to: