summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/defaults/periodic.conf3
-rwxr-xr-xetc/periodic/daily/490.status-pkg-changes43
2 files changed, 46 insertions, 0 deletions
diff --git a/etc/defaults/periodic.conf b/etc/defaults/periodic.conf
index b4c777b..8267ac7 100644
--- a/etc/defaults/periodic.conf
+++ b/etc/defaults/periodic.conf
@@ -136,6 +136,9 @@ daily_status_named_usedns="YES" # DNS lookups are ok
# 480.status-ntpd
daily_status_ntpd_enable="NO" # Check NTP status
+# 490.status-pkg-changes
+daily_status_pkg_changes_enable="NO" # Show package changes
+
# 500.queuerun
daily_queuerun_enable="YES" # Run mail queue
daily_submit_queuerun="YES" # Also submit queue
diff --git a/etc/periodic/daily/490.status-pkg-changes b/etc/periodic/daily/490.status-pkg-changes
new file mode 100755
index 0000000..60e3e8c
--- /dev/null
+++ b/etc/periodic/daily/490.status-pkg-changes
@@ -0,0 +1,43 @@
+#!/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
OpenPOWER on IntegriCloud