diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2009-01-21 20:05:26 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2009-01-21 20:05:26 +0000 |
commit | 4a403d0d248e7d7875e805b5767dcc3ceeff3fe7 (patch) | |
tree | 5352141511174a7702890628b125181fc3533050 | |
parent | 39351572e6da89e40ff85f5e8611b589177c4b59 (diff) |
copied pd-extended-auto-builder.sh to this one and changed names to pd-devel
svn path=/trunk/; revision=10588
-rw-r--r-- | scripts/auto-build/pd-devel-auto-builder.sh | 119 |
1 files changed, 100 insertions, 19 deletions
diff --git a/scripts/auto-build/pd-devel-auto-builder.sh b/scripts/auto-build/pd-devel-auto-builder.sh index 2bd4b94f..e336075a 100644 --- a/scripts/auto-build/pd-devel-auto-builder.sh +++ b/scripts/auto-build/pd-devel-auto-builder.sh @@ -1,34 +1,115 @@ #!/bin/sh +# this script is the first attempt to have an automated updater and builder # the source dir where this script is +## this could be done more easily with ${0%/*} SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|') . $SCRIPT_DIR/auto-build-common # the name of this script +## this could be done more easily with ${0##*/} SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g') +BUILD_DIR=. case $SYSTEM in - linux) - echo "Configuring for GNU/Linux" - ;; - darwin) - echo "Configuring for Darwin/Mac OS X" - ;; - mingw*) - echo "Configuring for MinGW/Windows" - ;; - cygwin*) - echo "Configuring for Cygwin/Windows" - ;; - *) - echo "ERROR: Platform $SYSTEM not supported!" - exit - ;; + linux) + BUILD_DIR=linux_make + echo "Configuring to use $BUILD_DIR on GNU/Linux" + ;; + darwin) + BUILD_DIR=darwin_app + echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X" + ;; + mingw*) + BUILD_DIR=win32_inno + echo "Configuring to use $BUILD_DIR on MinGW/Windows" + ;; + cygwin*) + BUILD_DIR=win32_inno + echo "Configuring to use $BUILD_DIR on Cygwin/Windows" + ;; + *) + echo "ERROR: Platform $SYSTEM not supported!" + exit + ;; esac +# convert into absolute path +## shouldn't this use the ${SCRIPT_DIR} variable rather than call an external program? +cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')/../.. +auto_build_root_dir=$(pwd) +echo "root: $auto_build_root_dir" -echo "This currently does nothing, but it could..." +# let rsync handle the cleanup with --delete +case $SYSTEM in + mingw*) + /c/cygwin/bin/sh -c \ + "rsync -a --delete rsync://128.238.56.50/distros/pd-devel/ ${auto_build_root_dir}/" + ;; + *) + rsync -a --delete rsync://128.238.56.50/distros/pd-devel/ ${auto_build_root_dir}/ + ;; +esac + +cd "${auto_build_root_dir}/packages/$BUILD_DIR" +make -C "${auto_build_root_dir}/packages" set_version +make test_locations +mount +make package_clean +make install && make package + + +upload_build () +{ + platform_folder=$1 + build_folder=$2 + archive_format=$3 + + archive=$(ls -1 ${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format} | tail -1) + + echo "upload specs $1 $2 $3" + echo "Uploading $archive" + upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|") + if [ -e ${archive} ]; then + case $SYSTEM in + mingw*) + /c/cygwin/bin/sh -c \ + "rsync -a ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" && \ + md5sum ${archive} > ${archive}.md5 && \ + /c/cygwin/bin/sh -c \ + "rsync -a ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5" && \ + echo "successfully uploaded: ${upload_filename}" && \ + echo SUCCESS + ;; + *) + rsync -a ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename} && \ + md5sum ${archive} > ${archive}.md5 && \ + rsync -a ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5 && \ + echo "successfully uploaded: ${upload_filename}" && \ + echo SUCCESS + ;; + esac + fi +} + + +case $SYSTEM in + linux) + if [ -x /usr/bin/dpkg-deb ]; then + upload_build linux_make . deb + else + upload_build linux_make build tar.bz2 + fi + ;; + darwin) + upload_build darwin_app . dmg + ;; + mingw*) + upload_build win32_inno Output exe + ;; + cygwin*) + upload_build win32_inno Output exe + ;; +esac -# if the below word prints, the status report email is not sent -echo SUCCESS |