--- trunk/mage/usr/lib/mage/mage4.sh 2011/12/27 10:45:33 1550 +++ trunk/mage/usr/lib/mage/mage4.sh 2013/10/16 10:14:41 2233 @@ -5,7 +5,8 @@ # default die function die() { - echo -e ${COLRED}"Exited ${BASH_SOURCE} at line no ${BASH_LINENO}."${COLDEFAULT} + xtitleclean + mqueryfeature "debug" && echo -e ${COLRED}"Exited ${BASH_SOURCE} at line no ${BASH_LINENO}."${COLDEFAULT} echo -e ${COLRED}"$@"${COLDEFAULT} exit 1 } @@ -65,10 +66,13 @@ echo " upgrade - runs a complete system upgrade" echo " srcuppretend - pretend dependencies for a system upgrade from source" echo " srcupgrade - runs a complete system upgrade from source" + echo " pretend-build-prerequisites" + echo " install-build-prerequisites" echo " search - searches mage-tree for a package" echo " clean - removes *all* downloaded packages" echo " unpack - unpacks *all* needed package for 'foo'" echo " download - downloads *all* needed packages for 'foo'" + echo " print-features - prints all enabled mage-features" echo " version - prints version info" echo " regen-mage-tree - regenerates the whole mage database (for devs only)" echo @@ -94,19 +98,20 @@ # install method METHOD="$1" -# initial unversionized packagename, gets overridden later +# initial unversionized packagename, gets overridden later on MAGENAME="$2" -if [[ ${METHOD} != upgrade ]] && \ - [[ ${METHOD} != srcupgrade ]] && \ - [[ ${METHOD} != uppretend ]] && \ - [[ ${METHOD} != srcuppretend ]] && \ - [[ ${METHOD} != update ]] && \ - [[ ${METHOD} != update-tarball ]] && \ - [[ ${METHOD} != clean ]] && \ - [[ ${METHOD} != version ]] && \ - [[ ${METHOD} != search ]] && \ - [[ ${METHOD} != regen-mage-tree ]] +if [[ ${METHOD} != upgrade ]] && + [[ ${METHOD} != srcupgrade ]] && + [[ ${METHOD} != uppretend ]] && + [[ ${METHOD} != srcuppretend ]] && + [[ ${METHOD} != update ]] && + [[ ${METHOD} != update-tarball ]] && + [[ ${METHOD} != clean ]] && + [[ ${METHOD} != version ]] && + [[ ${METHOD} != search ]] && + [[ ${METHOD} != regen-mage-tree ]] && + [[ ${METHOD} != print-features ]] then [[ -z ${METHOD} ]] || [[ -z ${MAGENAME} ]] && print_usage && exit 1 fi @@ -121,8 +126,21 @@ # before anything run mage_setup mage_setup || die "error in mage_setup()" +# load supported mage features +load_mage_features + +# query debug mode +if mqueryfeature "debug" +then + depwalker_debug="--debug" +else + depwalker_debug="" +fi + case ${METHOD} in download) + have_root_privileges || die "You must be root to run this operation." + # first of all get the right pkg which going to be installed PCAT="$(pname2pcat ${MAGENAME})" @@ -147,12 +165,15 @@ --pcat ${PCAT} \ --pname ${PNAME} \ --pver ${PVER} \ - --pbuild ${PBUILD})" + --pbuild ${PBUILD} \ + ${depwalker_debug})" fetch_packages ${ALLDEPS} || die "fetching packages" md5sum_packages ${ALLDEPS} || die "md5 sum packages" ;; srcdownload) + have_root_privileges || die "You must be root to run this operation." + # first of all get the right pkg which going to be installed PCAT="$(pname2pcat ${MAGENAME})" @@ -177,11 +198,12 @@ --pcat ${PCAT} \ --pname ${PNAME} \ --pver ${PVER} \ - --pbuild ${PBUILD})" + --pbuild ${PBUILD} \ + ${depwalker_debug})" fetch_packages ${ALLDEPS} || die "fetching packages" ;; - pretend|srcpretend) + pretend|srcpretend|pretend-build-prerequisites) # first of all get the right pkg which going to be installed PCAT="$(pname2pcat ${MAGENAME})" @@ -214,10 +236,11 @@ --pcat ${PCAT} \ --pname ${PNAME} \ --pver ${PVER} \ - --pbuild ${PBUILD} + --pbuild ${PBUILD} \ + ${depwalker_debug} ;; - install) + install|install-build-prerequisites) have_root_privileges || die "You must be root to run this operation." # first of all get the right pkg which going to be installed @@ -252,12 +275,12 @@ --pcat ${PCAT} \ --pname ${PNAME} \ --pver ${PVER} \ - --pbuild ${PBUILD})" + --pbuild ${PBUILD} \ + ${depwalker_debug})" # first fetch all packages fetch_packages ${ALLDEPS} || die "fetching packages" md5sum_packages ${ALLDEPS} || die "md5 sum packages" - unpack_packages ${ALLDEPS} || die "unpacking packages" install_packages ${ALLDEPS} || die "installing packages" ;; @@ -296,7 +319,8 @@ --pcat ${PCAT} \ --pname ${PNAME} \ --pver ${PVER} \ - --pbuild ${PBUILD})" + --pbuild ${PBUILD} \ + ${depwalker_debug})" install_packages --src-install ${ALLDEPS} || die "src-installing packages" ;; @@ -318,7 +342,8 @@ --pcat ${METHOD} \ --pname ${METHOD} \ --pver ${METHOD} \ - --pbuild ${METHOD} + --pbuild ${METHOD} \ + ${depwalker_debug} ;; upgrade) @@ -331,12 +356,12 @@ --pcat ${METHOD} \ --pname ${METHOD} \ --pver ${METHOD} \ - --pbuild ${METHOD})" + --pbuild ${METHOD} \ + ${depwalker_debug})" # first fetch all packages fetch_packages ${ALLDEPS} || die "fetching packages" md5sum_packages ${ALLDEPS} || die "md5 sum packages" - unpack_packages ${ALLDEPS} || die "unpacking packages" install_packages ${ALLDEPS} || die "installing packages" ;; @@ -350,7 +375,8 @@ --pcat ${METHOD} \ --pname ${METHOD} \ --pver ${METHOD} \ - --pbuild ${METHOD})" + --pbuild ${METHOD} \ + ${depwalker_debug})" install_packages --src-install ${ALLDEPS} || die "src-installing packages" ;; @@ -386,7 +412,9 @@ --pcat ${PCAT} \ --pname ${PNAME} \ --pver ${PVER} \ - --pbuild ${PBUILD})" + --pbuild ${PBUILD} \ + ${depwalker_debug})" + fetch_packages ${ALLDEPS} || die "fetching packages" md5sum_packages ${ALLDEPS} || die "md5 sum packages" unpack_packages ${ALLDEPS} || die "unpacking packages" @@ -426,6 +454,10 @@ done ;; + print-features) + mprintfeatures + ;; + *) print_usage ;;