Return to weekly CVS log | Up to [local] / src / etc |
File: [local] / src / etc / weekly (download)
Revision 1.28, Sat Apr 15 13:12:08 2017 UTC (7 years, 1 month ago) by schwarze
Build full mandoc.db(5) databases by default using makewhatis(8) without -Q during the build and in weekly(8). According to tests by many developers, makewhatis(8) takes a few minutes at most even on slower hardware like octeon, loongson, ALIX, RPI3, Soekris, cubox, softiron etc., and security(8) is often worse than makewhatis(8). In case this causes excessive weekly(8) run times on even slower (~50 MHz-class) CPUs, consider adding "MAKEWHATISARGS=-Q" to /etc/weekly.local on machines that feel unhappy. OK sthen@ kettenis@ millert@ deraadt@ |
# # $OpenBSD: weekly,v 1.28 2017/04/15 13:12:08 schwarze Exp $ # # For local additions, create the file /etc/weekly.local. # To get section headers, use the function next_part in weekly.local. # umask 022 PARTOUT=/var/log/weekly.part MAINOUT=/var/log/weekly.out install -o 0 -g 0 -m 600 /dev/null $PARTOUT install -o 0 -g 0 -m 600 -b /dev/null $MAINOUT start_part() { TITLE=$1 exec > $PARTOUT 2>&1 } end_part() { exec >> $MAINOUT 2>&1 test -s $PARTOUT || return echo "" echo "$TITLE" cat $PARTOUT } next_part() { end_part start_part "$1" } run_script() { f=/etc/$1 test -e $f || return if [ `stat -f '%Sp%u' $f | cut -b1,6,9,11-` != '---0' ]; then echo "$f has insecure permissions, skipping:" ls -l $f return fi . $f } start_part "Running weekly.local:" run_script "weekly.local" next_part "Rebuilding locate database:" if [ -f /var/db/locate.database ]; then if TMP=`mktemp /var/db/locate.database.XXXXXXXXXX`; then trap 'rm -f $TMP; exit 1' 0 1 15 UPDATEDB="/usr/libexec/locate.updatedb" echo "${UPDATEDB} --fcodes=- --tmpdir=${TMPDIR:-/tmp}" | \ nice -5 su -m nobody 2>/dev/null 1>$TMP if [ -s "$TMP" ]; then chmod 444 $TMP chown root:wheel $TMP mv -f $TMP /var/db/locate.database else echo "Not installing locate database; zero size" fi else echo "Not rebuilding locate database; can't create temp file" fi fi next_part "Rebuilding whatis databases:" /usr/sbin/makewhatis $MAKEWHATISARGS next_part "Doing login accounting:" [ "X$LOGINACCOUNTING" = X1 ] && { ac -p | sort -nr -k 2 } end_part rm -f $PARTOUT [ -s $MAINOUT ] && mail -s "`hostname` weekly output" root < $MAINOUT