--- trunk/mage/usr/lib/mage/depwalker.sh 2005/09/10 13:34:56 235 +++ trunk/mage/usr/lib/mage/depwalker.sh 2005/10/02 13:57:39 250 @@ -1,7 +1,7 @@ #!/bin/bash #depwalker -# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/depwalker.sh,v 1.3 2005-09-10 13:34:56 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/depwalker.sh,v 1.4 2005-10-02 13:57:39 niro Exp $ # default die function die() @@ -110,6 +110,8 @@ local INSTALL_VIRTUAL local PNAME local PCAT + local PVER + local PBUILD DFILE="$1" @@ -191,13 +193,27 @@ do PCAT="$(magename2pcat ${dep} installdb)" PNAME="$(magename2pname ${dep})" - PVER="$(magename2pver ${dep})" - PBUILD="$(magename2pbuild ${dep})" - # fake a mage file - MAGEFILE="${MAGEDIR}/${PCAT}/${PNAME}/${PNAME}-${PVER}-${PBUILD}.mage" + # get the highest mage file from mage-db + MAGEFILE="$(get_highest_magefile ${PCAT} ${PNAME})" - rumwandern ${MAGEFILE} + # now get the pver&pbuild from the new file + PVER="$(magename2pver ${MAGEFILE})" + PBUILD="$(magename2pbuild ${MAGEFILE})" + + # do not wander files which are installed + if [ ! -d ${INSTALLDB}/${PCAT}/${PNAME}-${PVER}-${PBUILD} ] + then + # get dependencies the package + rumwandern ${MAGEFILE} + + # now add the package itself to the dependencies + # (if not exists already) + if [ -z "$(echo ${ALLDEPS} | fgrep "${MAGEFILE}")" ] + then + ALLDEPS="${ALLDEPS} ${MAGEFILE}" + fi + fi done else # get dependencies the package