ports ツリーの更新 & 更新 ports/packages の通知

こんなスクリプトでよいのでしょうか...

#!/bin/sh
#
# $Id: 499.status-pkgupdate,v 1.1 2005/05/12 00:05:27 ueda Exp $
#

# 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

export PATH=$PATH:/usr/local/sbin:/usr/local/bin
export LANG=C

[ ! -x /usr/local/sbin/portsnap ] && exit 0

echo
echo "Ports/packages update check:"
(portsnap cron && portsnap update) >/dev/null 2>&1

if [ $? -eq 0 ]; then
	portsdb -u >/dev/null 2>&1
	portversion -vL=
	rc=0
else
	echo "Failure of portsnap(*ERROR*)"
	rc=1
fi
echo

exit $rc

499.status-pkgupdate という名称で /usr/local/etc/periodic/daily/ ディレクトリに置きました。実行権限をつけておけば、daily run output メールで更新された ports/packages を通知してくれます。

  1. portsnap cron しているので sleep が入り、daily run output が来るのが少し遅くなります。
  2. at your own risk でお願いします :-)。