--- trunk/mage/usr/lib/mage/smage2.sh 2009/06/30 20:19:28 885 +++ trunk/mage/usr/lib/mage/smage2.sh 2009/11/20 19:41:27 941 @@ -20,8 +20,6 @@ SMAGESUFFIX="smage2" MLIBDIR=/usr/lib/mage SMAGEVERSION="$( < ${MLIBDIR}/version)" -SMAGE_LOG_CMD="tee -a /var/log/smage/${PKGNAME}.log" - ## only for tests -> normally in /etc/rc.d/init.d/functions COLRED="\033[1;6m\033[31m" @@ -75,6 +73,14 @@ exit 1 } +die_pipestatus() +{ + local pos="$1" + local comment="$2" + + [ ${PIPESTATUS[${pos}]} -gt 0 ] && die "${comment}" +} + xtitle() { if [[ ${TERM} = xterm ]] @@ -885,6 +891,7 @@ # fix target as it may be empty ! [ -n "${target}" ] && target="-${target}" + # build pkgname pkgname="${pname}${target}-${pver}-${parch}-${pbuild}" @@ -904,7 +911,7 @@ : ${MAGE_TREE_DEST=${BUILDDIR}/mage-tree} # setup md5 dir - dest="${MAGE_TREE_DEST}/${pcat}/${pname}/md5" + dest="${MAGE_TREE_DEST}/${pcat}/${pname}${target}/md5" install -d ${dest} # gen md5sum @@ -1072,14 +1079,30 @@ regen_mage_tree - # build md5sum for existing packages - generate_package_md5sum \ - --pcat "${PCATEGORIE}" \ - --pname "${PNAME}" \ - --pver "${PVER}" \ - --pbuild "${PBUILD}" \ - --parch "${ARCH}" \ - --target "${target}" + # build several targets + if [ -n "${MAGE_TARGETS}" ] + then + for target in ${MAGE_TARGETS} + do + # build md5sum for existing packages + generate_package_md5sum \ + --pcat "${PCATEGORIE}" \ + --pname "${PNAME}" \ + --pver "${PVER}" \ + --pbuild "${PBUILD}" \ + --parch "${ARCH}" \ + --target "${target}" + done + else + # build md5sum for existing packages + generate_package_md5sum \ + --pcat "${PCATEGORIE}" \ + --pname "${PNAME}" \ + --pver "${PVER}" \ + --pbuild "${PBUILD}" \ + --parch "${ARCH}" \ + --target "${target}" + fi exit 0 fi @@ -1144,6 +1167,7 @@ source ${SMAGENAME} || die "source failed" PKGNAME="${PNAME}-${PVER}-${ARCH}-${PBUILD}" MD5DIR="$(dirname ${SMAGENAME})/md5" +SMAGE_LOG_CMD="tee -a /var/log/smage/${PKGNAME}.log" xtitle "Compiling ${PKGNAME}" echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}" @@ -1222,11 +1246,16 @@ [[ ! -d /var/log/smage ]] && install -d /var/log/smage echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log -src_prepare || die "src_prepare failed" | ${SMAGE_LOG_CMD} +src_prepare | ${SMAGE_LOG_CMD} +die_pipestatus 0 "src_prepare failed" step_by_step $_ -src_compile || die "src_compile failed" | ${SMAGE_LOG_CMD} + +src_compile | ${SMAGE_LOG_CMD} +die_pipestatus 0 "src_compile failed" step_by_step $_ -src_install || die "src_install failed" | ${SMAGE_LOG_CMD} + +src_install | ${SMAGE_LOG_CMD} +die_pipestatus 0 "src_install failed" step_by_step $_