--- trunk/mage/usr/lib/mage/smage2.sh 2007/04/23 16:41:44 477 +++ trunk/mage/usr/lib/mage/smage2.sh 2009/05/21 19:06:26 875 @@ -4,7 +4,7 @@ # needs pkgbuild_dir (mage) # SMAGE2 -# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.57 2007-04-23 16:41:44 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.62 2007-11-28 10:47:50 niro Exp $ #01.10.2004 # added ccache support @@ -20,6 +20,8 @@ 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" @@ -362,6 +364,7 @@ ./configure \ --prefix=/usr \ --host=${CHOST} \ + --build=${CHOST} \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --datadir=/usr/share \ @@ -405,7 +408,7 @@ SRCFILE=$1 - if [ -z "$2" ] + if [[ -z $2 ]] then DEST=${BUILDDIR} else @@ -420,7 +423,11 @@ IFTAR="${IFTAR##*.}" if [[ ${IFTAR} = tar ]] then - tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} + tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tar.bz2 unpack failed." + else + pushd ${DEST} > /dev/null + bzcat ${SOURCEDIR}/${PNAME}/${SRCFILE} > ${DEST}/$(basename ${SRCFILE} .bz2) || die ".bz2 unpack failed." + popd > /dev/null fi ;; gz) @@ -428,14 +435,33 @@ IFTAR="${IFTAR##*.}" if [[ ${IFTAR} = tar ]] then - tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} + tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tar.gz unpack failed." + else + pushd ${DEST} > /dev/null + zcat ${SOURCEDIR}/${PNAME}/${SRCFILE} > ${DEST}/$(basename ${SRCFILE} .gz) || die ".gz unpack failed." + popd > /dev/null fi ;; - tbz2) - tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} + tbz2|mpks|mpk) + tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tbz2 unpack failed." ;; tgz) - tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} + tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tgz unpack failed." + ;; + rar) + unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST} || die ".rar unpack failed." + ;; + zip|xpi) + unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed." + ;; + rpm) + pushd ${DEST} > /dev/null + rpm2targz ${SOURCEDIR}/${PNAME}/${SRCFILE} || die "rpm2targz: .rpm unpack failed." + tar --no-same-owner -xvzf ${SRCFILE/.rpm/.tar.gz} || die "tar: .rpm unpack failed." + if [[ -f ${DEST}/${SRCFILE/.rpm/.tar.gz} ]] + then + rm ${DEST}/${SRCFILE/.rpm/.tar.gz} + fi ;; *) die "munpack failed" @@ -472,6 +498,13 @@ patch "${PATCHOPTS}" -i ${SOURCEDIR}/${PNAME}/${PATCHFILE} } +mlibtoolize() +{ + local opts="$@" + [[ -z ${opts} ]] && opts="--copy --force" + + libtoolize ${opts} || die "running: mlibtoolize ${opts}" +} minstalldocs() { @@ -620,7 +653,7 @@ # special tags: # PKGTYPE type of pkg # INHERITS which functions get included -# SPECIAL_FUNCTIONS special functions wich should also be added +# SPECIAL_FUNCTIONS special functions which should also be added # warning: they get killed before the build starts ! # # MAGE_TREE_DEST target destination of the generated tree @@ -656,7 +689,7 @@ > ${dest} # header - echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.57 2007-04-23 16:41:44 niro Exp $' >> ${dest} + echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.62 2007-11-28 10:47:50 niro Exp $' >> ${dest} echo >> ${dest} # pgkname and state @@ -906,6 +939,16 @@ echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}" } +step_by_step() +{ + if [[ ${STEP_BY_STEP} = true ]] + then + echo "${COLRED}Step-by-step enabled! Paused after $1.${COLDEFAULT}" + echo "Press [enter] to continue" + read + fi +} + # print out our version showversion @@ -1172,9 +1215,16 @@ mage rmstamp fi -src_prepare || die "src_prepare failed" -src_compile || die "src_compile failed" -src_install || die "src_install failed" +# setup build loggins +[[ ! -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} +step_by_step $_ +( src_compile || die "src_compile failed" ) | ${SMAGE_LOG_CMD} +step_by_step $_ +( src_install || die "src_install failed" ) | ${SMAGE_LOG_CMD} +step_by_step $_ # compressing doc, info & man files @@ -1255,6 +1305,13 @@ ;; esac +if [[ ${SMAGE_BUILD_LOGGING} != false ]] +then + bzip2 -9f /var/log/smage/${PKGNAME}.log +else + [[ -f /var/log/smage/${PKGNAME}.log ]] && rm /var/log/smage/${PKGNAME}.log +fi + # for sure unset NOPKGBUILD unset NOSTRIP