#!/bin/sh # # pkgsrc db regenerator # PKGSRC=/usr/pkgsrc PREFIX=/usr/pkg MARGIN=5 cd ${PKGSRC} echo "Loading pkgsrc tree..."; DIRS=`find . -type d -maxdepth 2 -mindepth 2` echo "Comparing PLIST against /usr/pkg prefix... "; for A in ${DIRS} ; do if [ -e "$A/PLIST" ]; then FILES=`grep -v -e ^\@ $A/PLIST`; TOTAL=0; FOUND=0; for B in ${FILES}; do if [ -e "${PREFIX}/${B}" ]; then FOUND=`echo ${FOUND}+1|bc`; # echo ...${B}; fi TOTAL=`echo ${TOTAL}+1|bc`; done # Margin implementation test ${TOTAL} -gt ${MARGIN} if [ "$?" = "0" ]; then FOUNT=`echo ${FOUND}+${MARGIN}-${TOTAL}|bc`; test ${FOUNT} -gt 0 else true fi if [ "$?" = "0" ]; then if [ ! ${FOUND} = "0" ]; then echo "$A (${FOUND}/${TOTAL})" fi fi fi done