freebsd-dev/etc/periodic/daily/490.status-pkg-changes
Oliver Fromme 6ece019fcf Add a daily script to the periodic framework that reports
changes to the package database, i.e. any packages that
have been added, updated or deleted in the past 24 hours.
The format is intentionally simple and concise.

That information is particularly useful on servers that
are maintained by multiple administrators.  When someone
adds, updates or deletes a package, the others will see
it in the daily periodic output.

This script is disabled by default.

PR:		conf/113913
Submitted by:	olli
Approved by:	des (mentor)
MFC after:	3 weeks
2010-08-05 15:53:33 +00:00

44 lines
851 B
Bash
Executable File

#!/bin/sh
#
# $FreeBSD$
#
# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]; then
. /etc/defaults/periodic.conf
source_periodic_confs
fi
case "$daily_status_pkg_changes_enable" in
[Yy][Ee][Ss])
if [ ! -f /usr/sbin/pkg_info ]; then
echo '$daily_status_pkg_changes_enable is enabled but' \
"/usr/sbin/pkg_info doesn't exist"
rc=2
else
bak=/var/backups
rc=0
if [ -f $bak/pkg_info.bak ]; then
mv -f $bak/pkg_info.bak $bak/pkg_info.bak2
fi
/usr/sbin/pkg_info > $bak/pkg_info.bak
cmp -sz $bak/pkg_info.bak $bak/pkg_info.bak2
if [ $? -eq 1 ]; then
echo ""
echo "Changes in installed packages:"
diff -U 0 $bak/pkg_info.bak2 $bak/pkg_info.bak \
| grep '^[-+][^-+]' | sort -k 1.2
fi
fi
;;
*)
rc=0
;;
esac
exit $rc