weekly revision 1.18
11.1Scgd#!/bin/sh -
21.1Scgd#
31.18Sjmmv#	$NetBSD: weekly,v 1.18 2004/04/02 13:13:47 jmmv Exp $
41.7Smikel#	from: @(#)weekly	8.2 (Berkeley) 1/2/94
51.1Scgd#
61.1Scgd
71.11Smycroftexport PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/libexec
81.12Slukemumask 077
91.12Slukem
101.12Slukemif [ -s /etc/weekly.conf ]; then
111.12Slukem	. /etc/weekly.conf
121.12Slukemfi
131.12Slukem
141.10Slukemhost=`hostname`
151.12Slukemdate=`date`
161.18Sjmmvrcvar_manpage='weekly.conf(5)'
171.1Scgd
181.12Slukemecho "To: ${MAILTO:-root}"
191.12Slukemecho "Subject: $host weekly output for $date"
201.12Slukemecho ""
211.6Smrg
221.10Slukemif [ -f /etc/rc.subr ]; then
231.10Slukem	. /etc/rc.subr
241.10Slukemelse
251.10Slukem	echo "Can't read /etc/rc.subr; aborting."
261.10Slukem	exit 1;
271.6Smrgfi
281.6Smrg
291.1Scgd#echo ""
301.1Scgd#echo "Removing old .o files:"
311.1Scgd#find /usr/src -name '*.o' -atime +21 -print -a -exec rm -f {} \;
321.1Scgd
331.1Scgd# see if /usr/src exists and is local
341.1Scgd# before looking there for checked-out files
351.1Scgd
361.2Scgd#if [ -d /usr/src -a \
371.8Smycroft#  -n "`find -f /usr/src ! -fstype local -prune -or -type d -print -prune`" ];
381.2Scgd#then
391.16Skim#	echo ""
401.16Skim#	echo "Looking for checked out files:"
411.2Scgd#
421.17Slukem#	TDIR=`mktemp -d /tmp/_checkout.XXXXXX` || exit 1
431.17Slukem#	trap "/bin/rm -rf $TDIR ; exit 0" EXIT INT QUIT
441.2Scgd#	for file in `find -f /usr/src ! -fstype local -prune -or \
451.2Scgd#	    -name 'p.*' -print | egrep 'SCCS/p\.'`; do
461.2Scgd#		owner=`awk '{ print $3 }' $file`
471.2Scgd#		echo "$owner	$file"
481.17Slukem#		echo $file >> "$TDIR/$owner"
491.2Scgd#	done | sed -e 's,SCCS/p.,,'
501.7Smikel#	if test -n "`ls $TDIR`"; then
511.7Smikel#		for file in $TDIR/*; do
521.7Smikel#			sed -e 's,SCCS/p.,,' $file | \
531.15Slukem#			    Mail -s 'checked out files' ${file##*/}
541.7Smikel#		done
551.7Smikel#	fi
561.2Scgd#fi
571.1Scgd
581.10Slukemif checkyesno clean_uucp && [ -f /usr/libexec/uucp/clean.weekly ]; then
591.1Scgd	echo ""
601.1Scgd	echo "Cleaning up UUCP:"
611.9Slukem	su daemon -c /usr/libexec/uucp/clean.weekly
621.1Scgdfi
631.1Scgd
641.16Skimif checkyesno rebuild_locatedb; then
651.16Skim	echo ""
661.16Skim	if [ -f /var/db/locate.database ]; then
671.16Skim		echo "Rebuilding locate database:"
681.16Skim		chmod 644 /var/db/locate.database
691.16Skim		chown nobody:nobody /var/db/locate.database
701.16Skim		nice -5 su -m nobody -c /usr/libexec/locate.updatedb 2>/dev/null
711.16Skim		chown root:wheel /var/db/locate.database
721.16Skim	else
731.16Skim		echo "Not rebuilding locate database; no /var/db/locate.database"
741.16Skim	fi
751.14Sadfi
761.14Sad
771.14Sadif [ -f /etc/weekly.local ]; then
781.14Sad	echo ""
791.14Sad	echo "Running /etc/weekly.local:"
801.14Sad	. /etc/weekly.local
811.4Scgdfi
82