--- trunk/mage/usr/lib/mage/mage4.functions.sh 2005/09/27 14:38:01 248 +++ trunk/mage/usr/lib/mage/mage4.functions.sh 2005/10/04 14:35:21 258 @@ -1,6 +1,6 @@ #!/bin/bash # Magellan Linux Installer Functions (mage.functions.sh) -# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh,v 1.4 2005-09-27 14:38:01 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh,v 1.7 2005-10-04 14:35:21 niro Exp $ mage_setup() { @@ -1667,7 +1667,7 @@ local newest_mage local installed_mage - newest_mage="$( CATEGORIE=app-mage MAGENAME=mage get_highest_magefile;echo $(basename ${MAGEFILE} .mage) )" + newest_mage="$(basename $(get_highest_magefile app-mage mage) .mage)" installed_mage="$(magequery -n mage | cut -d' ' -f5)" if [[ ${newest_mage} > ${installed_mage} ]] @@ -1972,10 +1972,11 @@ eval value=\$$(echo ${var}) echo "${value}" - unset preinstall - unset postinstall - unset preremove - unset postremove + # unset these functions + unset -f preinstall + unset -f postinstall + unset -f preremove + unset -f postremove } mage_install() @@ -2156,10 +2157,11 @@ # echo -ne "${COLGREEN}${pname}-${pver}-${pbuild}${COLDEFAULT} " echo "successfully installed." - unset preinstall - unset postinstall - unset preremove - unset postremove + # unset these functions + unset -f preinstall + unset -f postinstall + unset -f preremove + unset -f postremove } md5sum_packages() @@ -2418,10 +2420,11 @@ # echo -ne "${COLGREEN}${pname}-${pver}-${pbuild}${COLDEFAULT} " echo "successfully removed." - unset preinstall - unset postinstall - unset preremove - unset postremove + # unset these functions + unset -f preinstall + unset -f postinstall + unset -f preremove + unset -f postremove } show_etc_update_mesg() { @@ -2520,3 +2523,25 @@ unset ipbuild done } + +export_inherits() +{ + local include="$1" + shift + + while [ "$1" ] + do + local functions="$1" + + # sanity checks + [ -z "${include}" ] && die "export_inherits(): \$include not given." + [ -z "${functions}" ] && die "export_inherits(): \$functions not given." + + eval "${functions}() { ${include}_${functions} ; }" + + # debug + [[ ${MAGEDEBUG} = on ]] && typeset -f "${functions}" + + shift + done +}