1 |
#!/bin/bash |
#!/bin/bash |
2 |
# $Id$ |
# $Id$ |
3 |
# dependeny walker |
# dependency walker |
4 |
|
|
5 |
# set default variables |
# set default variables |
6 |
: ${MAGERC="@@SYSCONFDIR@@/mage.rc"} |
: ${MAGERC="@@SYSCONFDIR@@/mage.rc"} |
44 |
exit 1 |
exit 1 |
45 |
} |
} |
46 |
|
|
47 |
# always default debug=0 |
# set some sane defaults |
48 |
DEBUG=0 |
DEBUG=0 |
49 |
|
SMAGE_DEPEND=0 |
50 |
|
|
51 |
# very basic getops |
# very basic getops |
52 |
for i in $* |
for i in $* |
58 |
--pbuild|-b) shift; PBUILD="$1" ;; |
--pbuild|-b) shift; PBUILD="$1" ;; |
59 |
--method|-m) shift; METHOD="$1" ;; |
--method|-m) shift; METHOD="$1" ;; |
60 |
--debug|-d) shift; DEBUG=1 ;; |
--debug|-d) shift; DEBUG=1 ;; |
61 |
--smage|-s) shift; SMAGEFILE="$1"; SILENT=1; FVERBOSE=off ;; |
--smage|-s) shift; SMAGEFILE="$1"; SMAGE_DEPEND=1; SILENT=1; FVERBOSE=off ;; |
62 |
--help|-h) usage ;; |
--help|-h) usage ;; |
63 |
esac |
esac |
64 |
shift |
shift |
79 |
[ -z "${INSTALLDB}" ] && die "\$INSTALLDB not set." |
[ -z "${INSTALLDB}" ] && die "\$INSTALLDB not set." |
80 |
[ -z "${BUILDDIR}" ] && die "\$BUILDDIR not set." |
[ -z "${BUILDDIR}" ] && die "\$BUILDDIR not set." |
81 |
|
|
82 |
|
# load mage-features to support them with smagesource() |
83 |
|
load_mage_features |
84 |
|
|
85 |
# other needed vars |
# other needed vars |
86 |
ALLDEPS="" |
ALLDEPS="" |
87 |
if [[ -n ${SMAGEFILE} ]] |
if [[ -n ${SMAGEFILE} ]] |
207 |
|
|
208 |
# mark depfile as processed to prevent double runs -without version |
# mark depfile as processed to prevent double runs -without version |
209 |
# but do not add any virtuals to PROCESSEDDEPS or their resolved |
# but do not add any virtuals to PROCESSEDDEPS or their resolved |
210 |
# pkgnames will be ignored and they are missing on the dependecy-list |
# pkgnames will be ignored and they are missing on the dependency-list |
211 |
if [[ ${DEPNAME/virtual\//} = ${DEPNAME} ]] |
if [[ ${DEPNAME/virtual\//} = ${DEPNAME} ]] |
212 |
then |
then |
213 |
PROCESSEDDEPS="${PROCESSEDDEPS} ${DEPNAME%-*}" |
PROCESSEDDEPS="${PROCESSEDDEPS} ${DEPNAME%-*}" |
234 |
### check if the dependency is already installed ### |
### check if the dependency is already installed ### |
235 |
if [ ! -d ${MROOT}${INSTALLDB}/${PCAT}/${PNAME}-${PVER}-${PBUILD} ] |
if [ ! -d ${MROOT}${INSTALLDB}/${PCAT}/${PNAME}-${PVER}-${PBUILD} ] |
236 |
then |
then |
237 |
|
# but first get all deps of highest_depfile to catch all dependencies of it |
238 |
depwalking ${HIGHEST_DEPFILE} |
depwalking ${HIGHEST_DEPFILE} |
239 |
ALLDEPS="${ALLDEPS} ${HIGHEST_DEPFILE}" |
ALLDEPS="${ALLDEPS} ${HIGHEST_DEPFILE}" |
240 |
decho "added '${HIGHEST_DEPFILE}' to ALLDEPS" |
decho "added '${HIGHEST_DEPFILE}' to ALLDEPS" |