--- trunk/mage/usr/lib/mage/depwalker.sh 2005/09/09 17:50:03 231 +++ trunk/mage/usr/lib/mage/depwalker.sh 2007/01/22 00:24:14 419 @@ -1,7 +1,7 @@ #!/bin/bash #depwalker -# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/depwalker.sh,v 1.2 2005-09-09 17:50:03 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/depwalker.sh,v 1.5 2007-01-22 00:24:14 niro Exp $ # default die function die() @@ -11,15 +11,15 @@ } # include all needed files -[ -f ${MLIBDIR}/conf/mage.rc.global ] && \ - source ${MLIBDIR}/conf/mage.rc.global || \ - die "${MLIBDIR}/conf/mage.rc.global missing" +[ -f /etc/mage.rc.global ] && \ + source /etc/mage.rc.global || \ + die "/etc/mage.rc.global missing" -[ -f /etc/mage.rc ] && source /etc/mage.rc || \ - die "Your /etc/mage.rc is missing. Aborting." +[ -f ${MAGERC} ] && source ${MAGERC} || \ + die "Your ${MAGERC} is missing. Aborting." -[ -f ${MLIBDIR}/mage.functions.sh ] && \ - source ${MLIBDIR}/mage.functions.sh || \ +[ -f ${MLIBDIR}/mage4.functions.sh ] && \ + source ${MLIBDIR}/mage4.functions.sh || \ die "mage functions missing" # for tests only @@ -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