[PD-cvs] scripts/auto-build pd-extended-auto-builder.sh, NONE, 1.1 prep-auto-build-upload, 1.1, 1.2 pure-data-cvs-rsync-checkout, 1.2, 1.3 run-automated-builder, 1.2, 1.3

Hans-Christoph Steiner eighthave at users.sourceforge.net
Thu Aug 3 07:54:06 CEST 2006


Update of /cvsroot/pure-data/scripts/auto-build
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31889/auto-build

Modified Files:
	prep-auto-build-upload pure-data-cvs-rsync-checkout 
	run-automated-builder 
Added Files:
	pd-extended-auto-builder.sh 
Log Message:
extended auto-builds to allow for building multiple distros, and included a pd-MAIN distro, which seems to work.  We'll see...

Index: prep-auto-build-upload
===================================================================
RCS file: /cvsroot/pure-data/scripts/auto-build/prep-auto-build-upload,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** prep-auto-build-upload	31 Jul 2006 04:42:45 -0000	1.1
--- prep-auto-build-upload	3 Aug 2006 05:54:03 -0000	1.2
***************
*** 3,14 ****
  # prepare a directory per date for the auto-builders to upload to
  
  DATE=`date +%Y-%m-%d`
  TIME=`date +%H.%M.%S`
  
  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}"
  
--- 3,20 ----
  # 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}"     >> $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

Index: pure-data-cvs-rsync-checkout
===================================================================
RCS file: /cvsroot/pure-data/scripts/auto-build/pure-data-cvs-rsync-checkout,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** pure-data-cvs-rsync-checkout	3 Aug 2006 05:13:37 -0000	1.2
--- pure-data-cvs-rsync-checkout	3 Aug 2006 05:54:03 -0000	1.3
***************
*** 9,15 ****
  touch $LOGFILE
  
- chown -R pd /home/pd/                                 >> $LOGFILE 2>&1
- chmod -R u+rw /home/pd/                               >> $LOGFILE 2>&1
- 
  # extended
  echo "------------------------------------------------------------"	>> $LOGFILE 2>&1
--- 9,12 ----

--- NEW FILE: pd-extended-auto-builder.sh ---
#!/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

Index: run-automated-builder
===================================================================
RCS file: /cvsroot/pure-data/scripts/auto-build/run-automated-builder,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** run-automated-builder	2 Aug 2006 17:42:32 -0000	1.2
--- run-automated-builder	3 Aug 2006 05:54:03 -0000	1.3
***************
*** 6,50 ****
  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}|"` 
! }
! 
! 
! 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
  
  # send status report
! SUBJECT="$HOSTNAME Pd-$SYSTEM build results $DATE $TIME"
! tail -200 ${LOGFILE} | mail -s "${SUBJECT}" hans at eds.org
  
  
  
--- 6,28 ----
  TIME=`date +%H.%M.%S`
  SCRIPT=`echo $0| sed 's|.*/\(.*\)|\1|g'`
  
! run_build_script ()
  {
! 	 distro=$1
  
! 	 LOGFILE=/home/pd/logs/${DATE}_-_${TIME}_-_${SCRIPT}_-_${distro}_-_${SYSTEM}.txt
! 	 touch ${LOGFILE}
  
! 	 su - pd -c /home/pd/auto-build/scripts/auto-build/${distro}-auto-builder.sh \
! 		  >> $LOGFILE 2>&1
  
  # send status report
! 	 SUBJECT="$HOSTNAME Pd-$SYSTEM $distro build results $DATE $TIME"
! 	 tail -200 ${LOGFILE} | mail -s "${SUBJECT}" hans at eds.org
! }
  
+ run_build_script pd-main
+ run_build_script pd-extended
+ run_build_script pd-devel
  
  





More information about the Pd-cvs mailing list