From 8e2ce1e7ca33f37047f536e12219d51871bebebf Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Tue, 7 Oct 2008 14:00:36 +0000 Subject: [PATCH] Add support for USE_LATEST_UNZIPPED in autotest_cgal That was already in autotest_cgal_using_cmake --- Scripts/developer_scripts/autotest_cgal | 175 +++++++++++++----------- 1 file changed, 95 insertions(+), 80 deletions(-) diff --git a/Scripts/developer_scripts/autotest_cgal b/Scripts/developer_scripts/autotest_cgal index e840f5e3c60..8c7ad8fc249 100755 --- a/Scripts/developer_scripts/autotest_cgal +++ b/Scripts/developer_scripts/autotest_cgal @@ -398,12 +398,13 @@ copy_old_stuff() fi done - - # update symbolic links - rm ${OLD_CGAL_DIR} - ln -s `basename ${CGAL_DIR}` ${OLD_CGAL_DIR} - rm ${CURRENT_CGAL_DIR} - ln -s `basename ${CGAL_DIR}` ${CURRENT_CGAL_DIR} + if [ -z "${USE_LATEST_UNZIPPED}" ]; then + # update symbolic links + rm ${OLD_CGAL_DIR} + ln -s `basename ${CGAL_DIR}` ${OLD_CGAL_DIR} + rm ${CURRENT_CGAL_DIR} + ln -s `basename ${CGAL_DIR}` ${CURRENT_CGAL_DIR} + fi log_done ${ACTUAL_LOGFILE} fi @@ -463,72 +464,80 @@ if [ "${CRITICAL}" = "y" ]; then error "COULD NOT DETERMINE MYSHELL!" fi +# that line makes the script remove the lock file in case of unwanted exit +trap "rm -f $LOCK_FILE" EXIT HUP INT TERM + + lockfile -r 5 $LOCK_FILE; if [ ${?} != 0 ]; then echo "COULD NOT AQUIRE LOCK!"; exit 1; fi -if [ -r "LATEST" ]; then - rm -rf LATEST -fi - log ${ACTUAL_LOGFILE} "getting LATEST" - if [ -n "${USE_CURL}" ]; then - ${CURL} ${CURL_OPTS} ${LATEST_LOCATION} >> ${ACTUAL_LOGFILE} 2>&1 - else - ${WGET} ${WGET_OPTS} ${LATEST_LOCATION} >> ${ACTUAL_LOGFILE} 2>&1 - fi -if [ ! -f "LATEST" ]; then - error "COULD NOT DOWNLOAD LATEST!" -fi -if [ -r "RELEASE_NR" ]; then - cmp LATEST RELEASE_NR > ${ACTUAL_LOGFILE} - if [ ! ${?} != 0 ]; then - rm -f $LOCK_FILE; - exit 1; - fi -fi - - for i in `cat LATEST` - do - CGAL_LOCATION="${CGAL_URL}/${i}"; - CGAL_ZIPFILE="${i}"; - done - - CGAL_RELEASE_ID=`echo $CGAL_ZIPFILE | sed "s/.tar.gz//"` - if [ ! "${CGAL_RELEASE_ID}" = "${CGAL_ZIPFILE}" ]; then - USE_TARGZ="y" - else - CGAL_RELEASE_ID=`echo $CGAL_ZIPFILE | sed "s/.tar.bz2//"` - if [ ! "${CGAL_RELEASE_ID}" = "${CGAL_ZIPFILE}" ]; then - USE_TARBZ="y" +if [ -z "${USE_LATEST_UNZIPPED}" ]; then + if [ -r "LATEST" ]; then + rm -rf LATEST + fi + log ${ACTUAL_LOGFILE} "getting LATEST" + if [ -n "${USE_CURL}" ]; then + ${CURL} ${CURL_OPTS} ${LATEST_LOCATION} >> ${ACTUAL_LOGFILE} 2>&1 + else + ${WGET} ${WGET_OPTS} ${LATEST_LOCATION} >> ${ACTUAL_LOGFILE} 2>&1 + fi + if [ ! -f "LATEST" ]; then + error "COULD NOT DOWNLOAD LATEST!" + fi + if [ -r "RELEASE_NR" ]; then + cmp LATEST RELEASE_NR > ${ACTUAL_LOGFILE} + if [ ! ${?} != 0 ]; then + rm -f $LOCK_FILE; + exit 1; + fi fi - fi - CGAL_CURRENT_RELEASE_ID=`echo $CGAL_RELEASE_ID | sed -e 's/-I.*//'`-I + for i in `cat LATEST` + do + CGAL_LOCATION="${CGAL_URL}/${i}"; + CGAL_ZIPFILE="${i}"; + done - # dir for the actual release - CGAL_DIR=${CGAL_ROOT}/${CGAL_RELEASE_ID} + CGAL_RELEASE_ID=`echo $CGAL_ZIPFILE | sed "s/.tar.gz//"` + if [ ! "${CGAL_RELEASE_ID}" = "${CGAL_ZIPFILE}" ]; then + USE_TARGZ="y" + else + CGAL_RELEASE_ID=`echo $CGAL_ZIPFILE | sed "s/.tar.bz2//"` + if [ ! "${CGAL_RELEASE_ID}" = "${CGAL_ZIPFILE}" ]; then + USE_TARBZ="y" + fi + fi - # dir of the previous release - # HAS TO exist ! - # (used to copy config/install files and evt. gmp stuff) - OLD_CGAL_DIR=${CGAL_ROOT}/CGAL-I - CURRENT_CGAL_DIR=${CGAL_ROOT}/${CGAL_CURRENT_RELEASE_ID} + CGAL_CURRENT_RELEASE_ID=`echo $CGAL_RELEASE_ID | sed -e 's/-I.*//'`-I - # you will guess it :) - CGAL_INCL_DIR=${CGAL_DIR}/include - OLD_CGAL_INCL_DIR=${OLD_CGAL_DIR}/include - CGAL_LIB_DIR=${CGAL_DIR}/lib - OLD_CGAL_LIB_DIR=${OLD_CGAL_DIR}/lib - CGAL_MAKE_DIR=${CGAL_DIR}/make - CGAL_TEST_DIR=${CGAL_DIR}/test - CGAL_RUN_TEST=${CGAL_TEST_DIR}/run_testsuite - CGAL_COLLECT_TEST=${CGAL_TEST_DIR}/collect_cgal_testresults + # dir for the actual release + CGAL_DIR=${CGAL_ROOT}/${CGAL_RELEASE_ID} - # variables used to copy cmake stuffs - OLD_CGAL_BINARY_DIR_BASE=${OLD_CGAL_DIR}/cmake/platforms - CGAL_BINARY_DIR_BASE=${CGAL_DIR}/cmake/platforms + # dir of the previous release + # HAS TO exist ! + # (used to copy config/install files and evt. gmp stuff) + OLD_CGAL_DIR=${CGAL_ROOT}/CGAL-I + CURRENT_CGAL_DIR=${CGAL_ROOT}/${CGAL_CURRENT_RELEASE_ID} +else + CGAL_DIR=${CGAL_ROOT}/CGAL-I +fi + +# you will guess it :) +CGAL_INCL_DIR=${CGAL_DIR}/include +OLD_CGAL_INCL_DIR=${OLD_CGAL_DIR}/include +CGAL_LIB_DIR=${CGAL_DIR}/lib +OLD_CGAL_LIB_DIR=${OLD_CGAL_DIR}/lib +CGAL_MAKE_DIR=${CGAL_DIR}/make +CGAL_TEST_DIR=${CGAL_DIR}/test +CGAL_RUN_TEST=${CGAL_TEST_DIR}/run_testsuite +CGAL_COLLECT_TEST=${CGAL_TEST_DIR}/collect_cgal_testresults + +# variables used to copy cmake stuffs +OLD_CGAL_BINARY_DIR_BASE=${OLD_CGAL_DIR}/cmake/platforms +CGAL_BINARY_DIR_BASE=${CGAL_DIR}/cmake/platforms # ---------------------------------------------------- @@ -536,26 +545,28 @@ fi # # remove old logfile - rm -f ${ACTUAL_LOGFILE} +rm -f ${ACTUAL_LOGFILE} - # check, if OLD_CGAL_DIR exists and is a symbolic link - if [ ! -r ${OLD_CGAL_DIR} -o ! -d ${OLD_CGAL_DIR} ]; then - error "directory ${OLD_CGAL_DIR} does not exist" - fi - if [ ! -h ${OLD_CGAL_DIR} ]; then - error "${OLD_CGAL_DIR} has to be a symbolic link" - fi +if [ -z "${USE_LATEST_UNZIPPED}" ]; then + # check, if OLD_CGAL_DIR exists and is a symbolic link + if [ ! -r ${OLD_CGAL_DIR} -o ! -d ${OLD_CGAL_DIR} ]; then + error "directory ${OLD_CGAL_DIR} does not exist" + fi + if [ ! -h ${OLD_CGAL_DIR} ]; then + error "${OLD_CGAL_DIR} has to be a symbolic link" + fi +fi - if [ ! -r ${LOGS_DIR} ]; then +if [ ! -r ${LOGS_DIR} ]; then mkdir $LOGS_DIR - fi +fi if [ ! "${MAIL_ADDRESS}" = "must_be_set_in_.autocgalrc" ]; then - for i in ${MAIL_ADDRESS}; do - printf "subject says it all\n" | \ - ${SENDMAIL} -s "Started autotest" ${i} - done + for i in ${MAIL_ADDRESS}; do + printf "subject says it all\n" | \ + ${SENDMAIL} -s "Started autotest" ${i} + done fi @@ -581,9 +592,11 @@ main_procedure() fi done fi - get_cgal - unzip_cgal - copy_old_stuff + if [ -z "${USE_LATEST_UNZIPPED}" ]; then + get_cgal + unzip_cgal + copy_old_stuff + fi build_cgal if [ -z "${DO_NOT_TEST}" ]; then run_test @@ -595,9 +608,11 @@ if [ "${BUILD_HOSTS}" = "localhost" ]; then TEXT="`value_of COMPILERS_localhost`" if [ -z "${TEXT}" ]; then # printf "\nWARNING: Only installing on localhost\n"; - get_cgal - unzip_cgal - copy_old_stuff + if [ -z "${USE_LATEST_UNZIPPED}" ]; then + get_cgal + unzip_cgal + copy_old_stuff + fi build_cgal; else main_procedure;