--- trunk/mage/usr/lib/mage/smage2.sh 2011/12/28 12:23:50 1584 +++ trunk/mage/usr/lib/mage/smage2.sh 2011/12/29 15:20:20 1593 @@ -10,10 +10,6 @@ # set default user mage.rc : ${MAGERC="/etc/mage.rc"} -## setup ## -SMAGENAME="$1" -SMAGEVERSION="$( < ${MLIBDIR}/version)" - # export default C locale export LC_ALL=C @@ -21,6 +17,10 @@ source ${MAGERC} source ${MLIBDIR}/mage4.functions.sh +## setup ## +SMAGENAME="$1" +SMAGEVERSION="$(< ${MLIBDIR}/version)" + # set PKGDIR and BUILDDIR and BINDIR to MROOT if [[ -n ${MROOT} ]] then @@ -201,28 +201,28 @@ # dummy function, used if that does not exist in smage file src_prepare() { - echo "no src_prepare defined" + echo "no src_prepare defined; doing nothing ..." return 0 } # dummy function, used if that does not exist in smage file src_compile() { - echo "no src_compile defined" + echo "no src_compile defined; doing nothing ..." return 0 } # dummy function, used if that does not exist in smage file src_check() { - echo "no src_check defined" + echo "no src_check defined; doing nothing ..." return 0 } # dummy function, used if that does not exist in smage file src_install() { - echo "no src_install defined" + echo "no src_install defined; doing nothing ..." return 0 } @@ -1440,62 +1440,72 @@ [[ ! -d /var/log/smage ]] && install -d /var/log/smage echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log -src_prepare | ${SMAGE_LOG_CMD} -die_pipestatus 0 "src_prepare failed" -step_by_step $_ - -src_compile | ${SMAGE_LOG_CMD} -die_pipestatus 0 "src_compile failed" -step_by_step $_ - -# only run checks if requested -if mqueryfeature "!check" +if [[ ${PKGTYPE} = virtual ]] then - echo "!check detected; src_check() will not be run!" | ${SMAGE_LOG_CMD} - step_by_step src_check + echo "virtual package detected; nothing will be build ..." + # automatically set !pkgbuild here too + msetfeature "!pkgbuild" else - src_check | ${SMAGE_LOG_CMD} - die_pipestatus 0 "src_check failed" + src_prepare | ${SMAGE_LOG_CMD} + die_pipestatus 0 "src_prepare failed" step_by_step $_ -fi - -# build several subpackages -if [[ -n ${SPLIT_PACKAGES} ]] -then - # save bindir & pname - split_save_variables - export SAVED_BINDIR="${BINDIR}" - for subpackage in ${SPLIT_PACKAGES} - do - if typeset -f src_install_${subpackage} > /dev/null - then - # export subpackage bindir - export BINDIR="${SAVED_BINDIR}_${subpackage}" - # export PNAME, several internal function and include - # rely on this variable - export PNAME="${subpackage}" - echo - echo -en "${COLBLUE}*** ${COLDEFAULT}" - echo -en " Running ${COLGREEN}split src_install()${COLDEFAULT}" - echo -en " for subpkg: ${COLBLUE}${PNAME}${COLDEFAULT}" - echo -e " - basepkg: ${COLBLUE}${SPLIT_PACKAGE_BASE}${COLDEFAULT} ..." - - src_install_${subpackage} | ${SMAGE_LOG_CMD} - die_pipestatus 0 "src_install_${subpackage} failed" - step_by_step $_ - fi - done - # restore bindir & pname - split_restore_variables - # unset all saved smage variables - split_unset_variables -else - src_install | ${SMAGE_LOG_CMD} - die_pipestatus 0 "src_install failed" + src_compile | ${SMAGE_LOG_CMD} + die_pipestatus 0 "src_compile failed" step_by_step $_ + + # only run checks if requested + if mqueryfeature "!check" + then + echo "!check detected; src_check() will not be run!" | ${SMAGE_LOG_CMD} + step_by_step src_check + else + src_check | ${SMAGE_LOG_CMD} + die_pipestatus 0 "src_check failed" + step_by_step $_ + fi + + # build several subpackages + if [[ -n ${SPLIT_PACKAGES} ]] + then + # save bindir & pname + split_save_variables + export SAVED_BINDIR="${BINDIR}" + for subpackage in ${SPLIT_PACKAGES} + do + if typeset -f src_install_${subpackage} > /dev/null + then + # export subpackage bindir + export BINDIR="${SAVED_BINDIR}_${subpackage}" + # export PNAME, several internal function and include + # rely on this variable + export PNAME="${subpackage}" + + echo + echo -en "${COLBLUE}*** ${COLDEFAULT}" + echo -en " Running ${COLGREEN}split src_install()${COLDEFAULT}" + echo -en " for subpkg: ${COLBLUE}${PNAME}${COLDEFAULT}" + echo -e " - basepkg: ${COLBLUE}${SPLIT_PACKAGE_BASE}${COLDEFAULT} ..." + + src_install_${subpackage} | ${SMAGE_LOG_CMD} + die_pipestatus 0 "src_install_${subpackage} failed" + step_by_step $_ + fi + done + # restore bindir & pname + split_restore_variables + # unset all saved smage variables + split_unset_variables + else + src_install | ${SMAGE_LOG_CMD} + die_pipestatus 0 "src_install failed" + step_by_step $_ + fi fi +# echo for sake of good-looking +echo + if mqueryfeature "!compressdoc" then echo -e "!compressdoc detected; documentation will not be compressed ..."