161f28255Scgd#!/bin/sh - 261f28255Scgd# 3*d0784034Skre# $NetBSD: weekly,v 1.32 2018/09/23 23:12:21 kre Exp $ 4ef538c31Smikel# from: @(#)weekly 8.2 (Berkeley) 1/2/94 561f28255Scgd# 661f28255Scgd 7bd8157b7Smycroftexport PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/libexec 8016b324aSmrgumask 077 9016b324aSmrg 10d1f7e40eSlukemif [ -s /etc/weekly.conf ]; then 11d1f7e40eSlukem . /etc/weekly.conf 12d1f7e40eSlukemfi 13d1f7e40eSlukem 144f848eeeSchristoshost="$(hostname)" 154f848eeeSchristosdate="$(date)" 163c8a1444Sjmmvrcvar_manpage='weekly.conf(5)' 17d1f7e40eSlukem 18d1f7e40eSlukemecho "To: ${MAILTO:-root}" 19d1f7e40eSlukemecho "Subject: $host weekly output for $date" 20d1f7e40eSlukemecho "" 21d1f7e40eSlukem 228f59ce8eSlukemif [ -f /etc/rc.subr ]; then 238f59ce8eSlukem . /etc/rc.subr 248f59ce8eSlukemelse 258f59ce8eSlukem echo "Can't read /etc/rc.subr; aborting." 268f59ce8eSlukem exit 1; 278f59ce8eSlukemfi 2861f28255Scgd 29d405da7fSmarttiWEEKLYDIR=$(mktemp -d -t _weekly) || exit 1 30ed816845Skim 31ed816845Skimtrap "/bin/rm -rf $WEEKLYDIR ; exit 0" EXIT INT QUIT PIPE 32ed816845Skim 33ed816845Skimif ! cd "$WEEKLYDIR"; then 34c5291a92Sdarcy echo "Can't cd to $WEEKLYDIR; aborting." 35ed816845Skim exit 1 36ed816845Skimfi 37ed816845Skim 38ed816845SkimTMP=weekly.$$ 39ed816845Skim 4061f28255Scgd#echo "" 4161f28255Scgd#echo "Removing old .o files:" 4261f28255Scgd#find /usr/src -name '*.o' -atime +21 -print -a -exec rm -f {} \; 4361f28255Scgd 4461f28255Scgd# see if /usr/src exists and is local 4561f28255Scgd# before looking there for checked-out files 4661f28255Scgd 47*d0784034Skre#if [ -d /usr/src ] && 48*d0784034Skre# [ -n "$(find -f /usr/src ! -fstype local -prune -or -type d -print -prune)" ]; 4951bed678Scgd#then 50e26a7ce8Skim# echo "" 51e26a7ce8Skim# echo "Looking for checked out files:" 5251bed678Scgd# 53d405da7fSmartti# TDIR=$(mktemp -d -t _checkout) || exit 1 54684e89f3Slukem# trap "/bin/rm -rf $TDIR ; exit 0" EXIT INT QUIT 554f848eeeSchristos# for file in $(find -f /usr/src ! -fstype local -prune -or \ 564f848eeeSchristos# -name 'p.*' -print | egrep 'SCCS/p\.'); do 574f848eeeSchristos# owner=$(awk '{ print $3 }' $file) 5851bed678Scgd# echo "$owner $file" 59684e89f3Slukem# echo $file >> "$TDIR/$owner" 6051bed678Scgd# done | sed -e 's,SCCS/p.,,' 614f848eeeSchristos# if test -n "$(ls $TDIR)"; then 6251bed678Scgd# for file in $TDIR/*; do 6351bed678Scgd# sed -e 's,SCCS/p.,,' $file | \ 640c70e530Slukem# Mail -s 'checked out files' ${file##*/} 6551bed678Scgd# done 66ef538c31Smikel# fi 6751bed678Scgd#fi 6861f28255Scgd 69e26a7ce8Skimif checkyesno rebuild_locatedb; then 7061f28255Scgd echo "" 71e26a7ce8Skim if [ -f /var/db/locate.database ]; then 7261f28255Scgd echo "Rebuilding locate database:" 734c881187Scgd chmod 644 /var/db/locate.database 74357a0baaSkleink chown nobody:nobody /var/db/locate.database 756b00b0a3Slukem (cd / && nice -5 su -m nobody -c /usr/libexec/locate.updatedb 2>/dev/null) 76357a0baaSkleink chown root:wheel /var/db/locate.database 774c881187Scgd else 784c881187Scgd echo "Not rebuilding locate database; no /var/db/locate.database" 794c881187Scgd fi 80e26a7ce8Skimfi 81645ee407Sad 82410d0f43Sjoergif checkyesno rebuild_mandb; then 83410d0f43Sjoerg echo "" 84*d0784034Skre if [ -f /etc/man.conf ] && [ -x /usr/sbin/makemandb ]; then 85410d0f43Sjoerg echo "Rebuilding man page index:" 86c9ea1856Swiz (umask 022; nice -n 5 /usr/sbin/makemandb -f -Q) 87410d0f43Sjoerg else 88410d0f43Sjoerg echo "Not rebuilding man page index" 89410d0f43Sjoerg fi 90410d0f43Sjoergfi 91410d0f43Sjoerg 92645ee407Sadif [ -f /etc/weekly.local ]; then 93ed816845Skim . /etc/weekly.local > $TMP 2>&1 94ed816845Skim if [ -s $TMP ] ; then 95ed816845Skim printf "\nRunning /etc/weekly.local:\n" 96ed816845Skim cat $TMP 97ed816845Skim fi 98ed816845Skim rm -f $TMP 99645ee407Sadfi 100