--- trunk/mage-buildserver/buildserver-setup-mage-tree.sh 2014/08/28 09:28:14 2786 +++ trunk/mage-buildserver/buildserver-setup-mage-tree.sh 2014/08/28 09:31:31 2787 @@ -6,6 +6,12 @@ source ${BUILDSERVER_LIB_DIR}/buildserver-functions.sh +FORCE=0 +if [[ $1 = --force ]] +then + FORCE=1 +fi + if [ ! -f ${BUILDROOT}/.stamps/mage_svn-checkout-ok ] then die "svn checkout of mage required. run buildserver-svn first." @@ -17,18 +23,25 @@ for arch in ${BUILD_ARCH[*]} src do - if [ -d ${BUILDROOT}/${arch}/usr/mage ] + if [ ! -f ${BUILDROOT}/.stamps/${arch}_initial-mage-tree-ok ] || [[ ${FORCE} = 1 ]] then - rm -r ${BUILDROOT}/${arch}/usr/mage || die "${arch} cleaning mage tree" - fi + [[ ${FORCE} = 1 ]] && echo "Warning: mage-tree regen was enforced for arch '${arch}'." - # create buildroot layout - if [ -d ${BUILDROOT}/mage-tree/${arch} ] - then - rm -r ${BUILDROOT}/mage-tree/${arch} || die "cleaning global mage tree tmp" - install -d ${BUILDROOT}/mage-tree/${arch} || die "creating global mage tree tmp dir" - fi + # create buildroot layout + if [ -d ${BUILDROOT}/mage-tree/${arch} ] + then + rm -r ${BUILDROOT}/mage-tree/${arch} || die "cleaning global mage tree tmp" + install -d ${BUILDROOT}/mage-tree/${arch} || die "creating global mage tree tmp dir" + fi - runarch "${arch}" mage regen-mage-tree || die "${arch} regen mage tree" - touch ${BUILDROOT}/.stamps/${arch}_initial-mage-tree-ok + if [ -d ${BUILDROOT}/${arch}/usr/mage ] + then + rm -r ${BUILDROOT}/${arch}/usr/mage || die "${arch} cleaning mage tree" + fi + + runarch "${arch}" mage regen-mage-tree || die "${arch} regen mage tree" + touch ${BUILDROOT}/.stamps/${arch}_initial-mage-tree-ok + else + echo "Warning: mage-tree already generated for arch '${arch}'. Run with --force switch to overwrite." + fi done