From 8f4dceb822aa525173c0d38ce735a7afab7f1694 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 3 Aug 2006 05:54:03 +0000 Subject: extended auto-builds to allow for building multiple distros, and included a pd-MAIN distro, which seems to work. We'll see... svn path=/trunk/; revision=5468 --- scripts/auto-build/pd-extended-auto-builder.sh | 64 +++++++++++++++++++++++++ scripts/auto-build/prep-auto-build-upload | 12 +++-- scripts/auto-build/pure-data-cvs-rsync-checkout | 3 -- scripts/auto-build/run-automated-builder | 46 +++++------------- 4 files changed, 85 insertions(+), 40 deletions(-) create mode 100755 scripts/auto-build/pd-extended-auto-builder.sh (limited to 'scripts/auto-build') diff --git a/scripts/auto-build/pd-extended-auto-builder.sh b/scripts/auto-build/pd-extended-auto-builder.sh new file mode 100755 index 00000000..61ae6183 --- /dev/null +++ b/scripts/auto-build/pd-extended-auto-builder.sh @@ -0,0 +1,64 @@ +#!/bin/sh + +# this script is the first attempt to have an automated updater and builder + +SYSTEM=`uname -s` +DATE=`date +%Y-%m-%d` +TIME=`date +%H.%M.%S` +SCRIPT=`echo $0| sed 's|.*/\(.*\)|\1|g'` +LOGFILE=/home/pd/logs/${DATE}_-_${TIME}_-_${SCRIPT}_-_${SYSTEM}.txt + +function upload_build () +{ + platform_folder=$1 + archive_format=$2 + +# upload files to webpage +test -e /home/pd/auto-build/packages/${platform_folder}/build/Pd*.${archive_format} && \ + rsync -a /home/pd/auto-build/packages/${platform_folder}/build/Pd*.${archive_format} \ + rsync://128.238.56.50/upload/${DATE}/`ls -1 /home/pd/auto-build/packages/*/build/Pd*.${archive_format} | sed "s|.*/\(.*\)${archive_format}|\1${HOSTNAME}.${archive_format}|"` +} + + +# convert into absolute path +cd `echo $0 | sed 's|\(.*\)/.*$|\1|'`/../.. +auto_build_root_dir=`pwd` + +echo "root: $auto_build_root_dir" + +# let rsync handle the cleanup with --delete +rsync -av --delete rsync://128.238.56.50/pure-data/ ${auto_build_root_dir}/ + +BUILD_DIR=. +if [ "$SYSTEM" == "Linux" ]; then + BUILD_DIR=linux_make +fi +if [ "$SYSTEM" == "Darwin" ]; then + BUILD_DIR=darwin_app +fi +if [ "`echo $SYSTEM | sed -n 's|\(MINGW\)|\1|p'`" == "MINGW" ]; then + BUILD_DIR=win32_inno +fi + +cd "${auto_build_root_dir}/packages/$BUILD_DIR" +make -C "${auto_build_root_dir}/packages" patch_pd +make install && make package + +make test_package +make test_locations + +case $SYSTEM in + Linux) + upload_build linux_make tar.bz2 >> $LOGFILE 2>&1 + ;; + Darwin) + upload_build darwin_app dmg >> $LOGFILE 2>&1 + ;; + MINGW*) + upload_build win32_inno exe >> $LOGFILE 2>&1 + ;; + *) + echo "ERROR: Platform $SYSTEM not supported!" >> $LOGFILE 2>&1 + exit + ;; +esac diff --git a/scripts/auto-build/prep-auto-build-upload b/scripts/auto-build/prep-auto-build-upload index f99fc111..59cc6c56 100755 --- a/scripts/auto-build/prep-auto-build-upload +++ b/scripts/auto-build/prep-auto-build-upload @@ -2,13 +2,19 @@ # prepare a directory per date for the auto-builders to upload to +HOSTNAME=`hostname` +SYSTEM=`uname -s` DATE=`date +%Y-%m-%d` TIME=`date +%H.%M.%S` +SCRIPT=`echo $0| sed 's|.*/\(.*\)|\1|g'` +LOGFILE=/home/pd/logs/${DATE}_-_${TIME}_-_${SCRIPT}_-_${SYSTEM}.txt BUILD_ROOT="/var/www/auto-build" TODAYS_ROOT="${BUILD_ROOT}/${DATE}" -chown -R root.root "${BUILD_ROOT}" -mkdir "${TODAYS_ROOT}" -chown nobody.nogroup "${TODAYS_ROOT}" +chown -R root.root "${BUILD_ROOT}" >> $LOGFILE 2>&1 +mkdir "${TODAYS_ROOT}" >> $LOGFILE 2>&1 +chown nobody.nogroup "${TODAYS_ROOT}" >> $LOGFILE 2>&1 +chown -R pd /home/pd >> $LOGFILE 2>&1 +chmod -R u+rw /home/pd >> $LOGFILE 2>&1 diff --git a/scripts/auto-build/pure-data-cvs-rsync-checkout b/scripts/auto-build/pure-data-cvs-rsync-checkout index 5a9030bd..559e23f1 100755 --- a/scripts/auto-build/pure-data-cvs-rsync-checkout +++ b/scripts/auto-build/pure-data-cvs-rsync-checkout @@ -8,9 +8,6 @@ LOGFILE=/home/pd/logs/${DATE}_-_${TIME}_-_${SCRIPT}_-_${SYSTEM}.txt touch $LOGFILE -chown -R pd /home/pd/ >> $LOGFILE 2>&1 -chmod -R u+rw /home/pd/ >> $LOGFILE 2>&1 - # extended echo "------------------------------------------------------------" >> $LOGFILE 2>&1 echo "pd-extended" >> $LOGFILE 2>&1 diff --git a/scripts/auto-build/run-automated-builder b/scripts/auto-build/run-automated-builder index e0bd6224..6af463fe 100755 --- a/scripts/auto-build/run-automated-builder +++ b/scripts/auto-build/run-automated-builder @@ -5,46 +5,24 @@ SYSTEM=`uname -s` DATE=`date +%Y-%m-%d` TIME=`date +%H.%M.%S` SCRIPT=`echo $0| sed 's|.*/\(.*\)|\1|g'` -LOGFILE=/home/pd/logs/${DATE}_-_${TIME}_-_${SCRIPT}_-_${SYSTEM}.txt -function upload_build () +run_build_script () { - platform_folder=$1 - archive_format=$2 + distro=$1 -# upload files to webpage -test -e /home/pd/auto-build/packages/${platform_folder}/build/Pd*.${archive_format} && \ - rsync -a /home/pd/auto-build/packages/${platform_folder}/build/Pd*.${archive_format} \ - rsync://128.238.56.50/upload/${DATE}/`ls -1 /home/pd/auto-build/packages/*/build/Pd*.${archive_format} | sed "s|.*/\(.*\)${archive_format}|\1${HOSTNAME}.${archive_format}|"` -} - - -touch ${LOGFILE} + LOGFILE=/home/pd/logs/${DATE}_-_${TIME}_-_${SCRIPT}_-_${distro}_-_${SYSTEM}.txt + touch ${LOGFILE} -chown -R pd /home/pd/auto-build >> $LOGFILE 2>&1 -chmod -R u+rw /home/pd/auto-build >> $LOGFILE 2>&1 - -su - pd -c /home/pd/auto-build/scripts/automated-builder.sh >> $LOGFILE 2>&1 - -case $SYSTEM in - Linux) - upload_build linux_make tar.bz2 >> $LOGFILE 2>&1 - ;; - Darwin) - upload_build darwin_app dmg >> $LOGFILE 2>&1 - ;; - MINGW*) - upload_build win32_inno exe >> $LOGFILE 2>&1 - ;; - *) - echo "ERROR: Platform $SYSTEM not supported!" >> $LOGFILE 2>&1 - exit - ;; -esac + su - pd -c /home/pd/auto-build/scripts/auto-build/${distro}-auto-builder.sh \ + >> $LOGFILE 2>&1 # send status report -SUBJECT="$HOSTNAME Pd-$SYSTEM build results $DATE $TIME" -tail -200 ${LOGFILE} | mail -s "${SUBJECT}" hans@eds.org + SUBJECT="$HOSTNAME Pd-$SYSTEM $distro build results $DATE $TIME" + tail -200 ${LOGFILE} | mail -s "${SUBJECT}" hans@eds.org +} +run_build_script pd-main +run_build_script pd-extended +run_build_script pd-devel -- cgit v1.2.1