aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2009-01-21 20:05:26 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2009-01-21 20:05:26 +0000
commit4a403d0d248e7d7875e805b5767dcc3ceeff3fe7 (patch)
tree5352141511174a7702890628b125181fc3533050
parent39351572e6da89e40ff85f5e8611b589177c4b59 (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.sh119
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