#!/bin/sh PDATE=.pkg_info_2010-12-03 _pdiff(){ PD=/data/packages D1=${PD}/${PDATE} D2=${PD}/ppp [ ! -d ${PD} ] && echo " dir ${PD} does not exist" && return 1 [ ! -f ${D1} ] && echo " file ${D1} does not exist" && return 1 cd ${PD}/ pkg_info -qoa | sort > ${D2} cmp -s ${D1} ${D2} > /dev/null _ret=$? if [ $_ret -eq 1 ]; then diff -U 0 ${D1} ${D2} | grep -v ^@ | less else echo "no missing packages" fi } _pdiff2(){ PD=/data/packages D1=${PD}/${PDATE} D2=${PD}/ppp TMP2=${PD}/.tmpppp [ ! -d ${PD} ] && echo " dir ${PD} does not exist" && return 1 [ ! -f ${D1} ] && echo " file ${D1} does not exist" && return 1 cd ${PD}/ pkg_info -qoa | sort > ${D2} cmp -s ${D1} ${D2} > /dev/null _ret=$? if [ $_ret -eq 1 ]; then diff -u ${D1} ${D2} | grep "^-[a-z]" | sed -e 's/^\-//g'| awk '{printf "addPort /usr/ports/%s\n", $1}' > ${TMP2} diff -u ${D1} ${D2} | grep "^+[a-z]" >> ${TMP2} less ${TMP2} && rm ${TMP2} else echo "no missing packages" fi } echo $# if [ $# -eq 0 ]; then _pdiff else _pdiff2 fi