#!/bin/bash die() { echo "error: $@"; exit 1; } # root or not? [[ $(id -u) = 0 ]] || sudo="sudo" : ${MAGERC="/etc/mage.rc"} source /etc/mage.rc.global source ${MAGERC} source ${MLIBDIR}/mage4.functions.sh source ${MLIBDIR}/smage2.functions.sh BUILDSERVER_CONFIG_DIR="/etc/mage-buildserver" source ${BUILDSERVER_CONFIG_DIR}/buildserver.conf REL_SMAGEFILE="$1" SVN_HOME="/home/tjoke/svn/smage/trunk" SMAGEFILE="${SVN_HOME}/${REL_SMAGEFILE}" if [[ -z ${REL_SMAGEFILE} ]] then echo "No smagefile given." exit 1 fi [[ -n $2 ]] && [[ $2 != -st ]] && SVN_COMMIT="$2" # get smagedir from given smagefile SMAGESCRIPTSDIR=${SMAGEFILE%/*/*/*} # source distribution file if [[ ${SMAGESCRIPTSDIR}/distribution ]] then source ${SMAGESCRIPTSDIR}/distribution fi # force usage of distrotag here MAGE_FEATURES+=( "pkgdistrotag" ) # load all mage features load_mage_features SMAGEDIR=$(dirname ${SMAGEFILE}) MD5DIR=${SMAGEDIR}/md5 MD5NAME=$(basename $1 .smage2).md5 SMAGENAME=$(basename $1) CURPNAME=$(magename2pname $1) CURPVER=$(magename2pver $1) CURPBUILD=$(magename2pbuild $(basename $1 .smage2)) CURDISTROTAG=$(print_distrotag) #echo "debug: SMAGEDIR='${SMAGEDIR}'" #echo "debug: MD5DIR='${MD5DIR}'" #echo "debug: MD5NAME='${MD5NAME}'" #echo "debug: SMAGENAME='${SMAGENAME}'" #echo "debug: CURPNAME='${CURPNAME}'" #echo "debug: CURPVER='${CURPVER}'" #echo "debug: CURPBUILD='${CURPBUILD}'" #echo "debug: CURDISTROTAG='${CURDISTROTAG}'" # delete md5 if exist [[ -f ${MD5DIR}/${MD5NAME} ]] && rm ${MD5DIR}/${MD5NAME} /sbin/smage2 download ${SMAGEFILE} /sbin/smage2 calcmd5 ${SMAGEFILE} ${MD5DIR} pushd ${SMAGEDIR}/../ svn add ${CURPNAME} pushd ${SMAGEDIR} svn add md5 svn add ${SMAGENAME} md5/${MD5NAME} [[ -z ${SVN_COMMIT} ]] && SVN_COMMIT="auto added: ver bump to ${CURPVER}-${CURPBUILD}" svn commit -m "${SVN_COMMIT}" ../${CURPNAME} ${SMAGENAME} md5 md5/${MD5NAME} # update svn repos ${sudo} ${BUILDSERVER_LIB_DIR}/buildserver-svn.sh || die "svn update" # compile smage ${sudo} ${BUILDSERVER_LIB_DIR}/buildserver-compile-smage.sh ${REL_SMAGEFILE} || die "compile" # upload packages ${sudo} ${BUILDSERVER_LIB_DIR}/buildserver-upload-smage.sh ${REL_SMAGEFILE} || die "upload"