It is perfectly legal to clear /var/run across reboots.  Below is a bug
from a user that ran into some trouble because an init script assumes that
/var/run/package/ exists for its PID file:

http://bugs.gentoo.org/show_bug.cgi?id=332397

A quick grep through the tree shows 73 packages that keepdirs
/var/run/package/.  Perhaps not all of them are bugs but they are
certainly redundant.

A mass bug-filing is probably not the correct thing to do but perhaps we
should document somewhere (devmanual?) that keepdir'ing a temp location
should be avoided.  Suggestion:

--- a/ebuild-writing/common-mistakes/text.xml
+++ b/ebuild-writing/common-mistakes/text.xml
@@ -41,6 +41,18 @@ elog "They are listed in the INSTALL file in 
/usr/share/doc/${PF}"
 </body>
 </section>
 
+<section>
+<title>Invalid use of <c>keepdir</c>in src_install</title>
+<body>
+The <c>keepdir</c> function should only be used to prevent directory removal
+during uninstallation.  In particular, using <c>keepdir</c> for a temporary
+location - such as /var/run/package/ for a PID file - should be avoided.  In
+such a case, init script either should make sure that /var/run/package/ exists
+or the package should use /var/run directly.  Please note that /var/run can and
+will be cleaned across reboots.
+</body>
+</section>
+
 </chapter>
 
 </guide>

-- 
Eray

Reply via email to