[PD-cvs] SF.net SVN: pure-data:[10588] trunk/scripts/auto-build/ pd-devel-auto-builder.sh

eighthave at users.sourceforge.net eighthave at users.sourceforge.net
Wed Jan 21 21:05:27 CET 2009


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.




More information about the Pd-cvs mailing list