cleanvar revision 110907
1342Sysr#!/bin/sh
23206Sbrutisso#
3342Sysr# $FreeBSD: head/etc/rc.d/cleanvar 110907 2003-02-15 06:00:11Z mtm $
4342Sysr#
5342Sysr
6342Sysr# PROVIDE: cleanvar
7342Sysr# REQUIRE: adjkerntz mountcritlocal
8342Sysr# BEFORE: network1
9342Sysr# KEYWORD: FreeBSD
10342Sysr
11342Sysrpurgedir()
12342Sysr{
13342Sysr	local dir file
14342Sysr
15342Sysr	if [ $# -eq 0 ]; then
16342Sysr		purgedir .
17342Sysr	else
18342Sysr		for dir
191472Strims		do
201472Strims		(
211472Strims			cd "$dir" && for file in .* *
22342Sysr			do
23342Sysr				[ ."$file" = .. -o ."$file" = ... ] && continue
24342Sysr				if [ -d "$file" -a ! -L "$file" ]
251879Sstefank				then
261879Sstefank					purgedir "$file"
271879Sstefank				else
283465Szgu					rm -f -- "$file"
293465Szgu				fi
30342Sysr			done
31342Sysr		)
32342Sysr		done
33342Sysr	fi
34342Sysr}
35342Sysr
36342Sysr# These files must be removed only the first time this script is run
37342Sysr# on boot.
38342Sysr#
39342Sysr[ "$1" != "reload" ] && rm -f /var/run/clean_var /var/spool/lock/clean_var
40342Sysr
41342Sysrif [ -d /var/run -a ! -f /var/run/clean_var ]; then
42342Sysr	purgedir /var/run
43342Sysr	# And an initial utmp file
44342Sysr	(cd /var/run && cp /dev/null utmp && chmod 644 utmp;)
453465Szgu	>/var/run/clean_var
46342Sysrfi
47342Sysrif [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then
48342Sysr	purgedir /var/spool/lock
49342Sysr	>/var/spool/lock/clean_var
50342Sysrfi
51342Sysrrm -rf /var/spool/uucp/.Temp/*
52342Sysr
53342Sysr