Revision: 10588 http://pure-data.svn.sourceforge.net/pure-data/?rev=10588&view=rev Author: eighthave Date: 2009-01-21 20:05:26 +0000 (Wed, 21 Jan 2009)
Log Message: ----------- copied pd-extended-auto-builder.sh to this one and changed names to pd-devel
Modified Paths: -------------- trunk/scripts/auto-build/pd-devel-auto-builder.sh
Modified: trunk/scripts/auto-build/pd-devel-auto-builder.sh =================================================================== --- trunk/scripts/auto-build/pd-devel-auto-builder.sh 2009-01-21 18:31:35 UTC (rev 10587) +++ trunk/scripts/auto-build/pd-devel-auto-builder.sh 2009-01-21 20:05:26 UTC (rev 10588) @@ -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
-# if the below word prints, the status report email is not sent -echo SUCCESS +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 +
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.