1#!/bin/sh -
2#
3#	$NetBSD: weekly,v 1.25.2.3 2012/11/18 19:07:00 msaitoh Exp $
4#	from: @(#)weekly	8.2 (Berkeley) 1/2/94
5#
6
7export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/libexec
8umask 077
9
10if [ -s /etc/weekly.conf ]; then
11	. /etc/weekly.conf
12fi
13
14host="$(hostname)"
15date="$(date)"
16rcvar_manpage='weekly.conf(5)'
17
18echo "To: ${MAILTO:-root}"
19echo "Subject: $host weekly output for $date"
20echo ""
21
22if [ -f /etc/rc.subr ]; then
23	. /etc/rc.subr
24else
25	echo "Can't read /etc/rc.subr; aborting."
26	exit 1;
27fi
28
29WEEKLYDIR=$(mktemp -d -t _weekly) || exit 1
30
31trap "/bin/rm -rf $WEEKLYDIR ; exit 0" EXIT INT QUIT PIPE
32
33if ! cd "$WEEKLYDIR"; then
34	echo "Can not cd to $WEEKLYDIR".
35	exit 1
36fi
37
38TMP=weekly.$$
39
40#echo ""
41#echo "Removing old .o files:"
42#find /usr/src -name '*.o' -atime +21 -print -a -exec rm -f {} \;
43
44# see if /usr/src exists and is local
45# before looking there for checked-out files
46
47#if [ -d /usr/src -a \
48#  -n "$(find -f /usr/src ! -fstype local -prune -or -type d -print -prune)" ];
49#then
50#	echo ""
51#	echo "Looking for checked out files:"
52#
53#	TDIR=$(mktemp -d -t _checkout) || exit 1
54#	trap "/bin/rm -rf $TDIR ; exit 0" EXIT INT QUIT
55#	for file in $(find -f /usr/src ! -fstype local -prune -or \
56#	    -name 'p.*' -print | egrep 'SCCS/p\.'); do
57#		owner=$(awk '{ print $3 }' $file)
58#		echo "$owner	$file"
59#		echo $file >> "$TDIR/$owner"
60#	done | sed -e 's,SCCS/p.,,'
61#	if test -n "$(ls $TDIR)"; then
62#		for file in $TDIR/*; do
63#			sed -e 's,SCCS/p.,,' $file | \
64#			    Mail -s 'checked out files' ${file##*/}
65#		done
66#	fi
67#fi
68
69if checkyesno rebuild_locatedb; then
70	echo ""
71	if [ -f /var/db/locate.database ]; then
72		echo "Rebuilding locate database:"
73		chmod 644 /var/db/locate.database
74		chown nobody:nobody /var/db/locate.database
75		(cd / && nice -5 su -m nobody -c /usr/libexec/locate.updatedb 2>/dev/null)
76		chown root:wheel /var/db/locate.database
77	else
78		echo "Not rebuilding locate database; no /var/db/locate.database"
79	fi
80fi
81
82if checkyesno rebuild_whatisdb; then
83	echo ""
84	if [ -x /usr/libexec/makewhatis -a \( -f /etc/man.conf \
85	     -o -d /usr/share/man \) ]; then
86		echo "Rebuilding whatis databases:"
87		nice -n 5 /usr/libexec/makewhatis -f
88	else
89		echo "Not rebuilding whatis databases"
90	fi
91fi
92
93if checkyesno rebuild_mandb; then
94	echo ""
95	if [ -f /etc/man.conf -a -x /usr/sbin/makemandb ]; then
96		echo "Rebuilding man page index:"
97		(umask 022; nice -n 5 /usr/sbin/makemandb -f -Q)
98	else
99		echo "Not rebuilding man page index"
100	fi
101fi
102
103if [ -f /etc/weekly.local ]; then
104	. /etc/weekly.local > $TMP 2>&1
105	if [ -s $TMP ] ; then
106		printf "\nRunning /etc/weekly.local:\n"
107		cat $TMP
108	fi
109	rm -f $TMP
110fi
111