pkg annotations FreeBSD_version

pkg upgradeだけではOS version upに完全には対応できないので、簡単なshell scriptを書いてannotationsにFreeBSD_versionが書かれていて古いものはinstall -fしてみました。
#!/bin/sh
kver=`uname -K`
uver=`uname -U`
if [ $kver -ne $uver ]; then
  echo "Version mismatch (KERN=$kver, USER=$uver)"
  exit 255
fi
for a in `pkg info -a | sed 's/ .*//'`; do
  pkg info -A $a | grep 'FreeBSD_version' | grep -v "$kver" | sed s/^/$a/ | grep 'FreeBSD_version' && pkg install -yf $a
done

これで大分お掃除できました。

P.S. 少しだけ直した奴をここに置いておきます。
 chown root:wheel update-pkg.sh
 chmod u+x update-pkg.sh

 して、引数を付けずに起動すれば、更新すべきパッケージ名と現在のFreeBSD_versionを表示し、updateという引数を付ければpkg install -fで強制的に更新します。なお、pkgは時々repositoryが変になるようなので、そういう際にはpkg update -fを行ってから再度実行して下さい。