summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/cleanvar
diff options
context:
space:
mode:
authorgordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
committergordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
commit9c5433cb225f7a4e56e87623ea2e4011179553a5 (patch)
tree3168589e209abd888b033397e3c46dee6131a116 /etc/rc.d/cleanvar
parent50d99cdfecd92f5323a18aa791a5b1cb9d8b7191 (diff)
downloadFreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.zip
FreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.tar.gz
Merge in all the changes that Mike Makonnen has been maintaining for a
while. This is only the script pieces, the glue for the build comes next. Submitted by: Mike Makonnen <makonnen@pacbell.net> Reviewed by: silence on -current and -hackers Prodded by: rwatson
Diffstat (limited to 'etc/rc.d/cleanvar')
-rw-r--r--etc/rc.d/cleanvar48
1 files changed, 48 insertions, 0 deletions
diff --git a/etc/rc.d/cleanvar b/etc/rc.d/cleanvar
new file mode 100644
index 0000000..5e7331a
--- /dev/null
+++ b/etc/rc.d/cleanvar
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: cleanvar
+# REQUIRE: adjkerntz mountcritlocal
+# BEFORE: network1
+# KEYWORD: FreeBSD
+
+purgedir()
+{
+ local dir file
+
+ if [ $# -eq 0 ]; then
+ purgedir .
+ else
+ for dir
+ do
+ (
+ cd "$dir" && for file in .* *
+ do
+ [ ."$file" = .. -o ."$file" = ... ] && continue
+ if [ -d "$file" -a ! -L "$file" ]
+ then
+ purgedir "$file"
+ else
+ rm -f -- "$file"
+ fi
+ done
+ )
+ done
+ fi
+}
+
+rm -f /var/run/clean_var /var/spool/lock/clean_var
+if [ -d /var/run -a ! -f /var/run/clean_var ]; then
+ purgedir /var/run
+ # And an initial utmp file
+ (cd /var/run && cp /dev/null utmp && chmod 644 utmp;)
+ >/var/run/clean_var
+fi
+if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then
+ purgedir /var/spool/lock
+ >/var/spool/lock/clean_var
+fi
+rm -rf /var/spool/uucp/.Temp/*
+
OpenPOWER on IntegriCloud