1#!/bin/sh 2 3 4. ${dp_SCRIPTSDIR}/functions.sh 5 6set -e 7validate_env dp_PKGNAME dp_MAKE dp_PORTSDIR 8set -u 9 10arg=$1 11shift 12if [ "${arg}" != "full" -a "${arg}" != "limited" ]; then 13 echo "the first argument can only be 'full' or 'limited'" >&2 14 exit 1 15fi 16 17check_dep() { 18 for _dep ; do 19 myifs=${IFS} 20 IFS=: 21 set -- ${_dep} 22 IFS=${myifs} 23 24 case "${2}" in 25 /*) d=${2} ;; 26 *) d=${dp_PORTSDIR}/${2} ;; 27 esac 28 29 case " ${checked} " in 30 *\ ${d}\ *) continue ;; # Already checked 31 esac 32 checked="${checked} ${d}" 33 if [ ! -d ${d} ]; then 34 echo "${dp_PKGNAME}: \"${d}\" non-existent -- dependency list incomplete" >&2 35 continue 36 fi 37 set -- $(${dp_MAKE} -C ${d} -VWRKDIR -V_UNIFIED_DEPENDS) 38 if [ -d ${1} ]; then 39 echo ${d} 40 elif [ "$arg" = "limited" ]; then 41 break 42 fi 43 shift 44 check_dep $@ 45 done 46} 47 48checked= 49check_dep ${dp_ALLDEPENDS} 50