Author: wade
Date: 2006-09-12 21:02:05 -0400 (Tue, 12 Sep 2006)
New Revision: 65339

Modified:
   trunk/release/scripts/mono-snapshot.sh
Log:
release/scripts/mono-snapshot.sh:

-don't save previous work areas (was taking up 150 GB)
-cut down on cron email size by limiting stdout
-don't check out whole tree each day, update a current
 and copy a clean repo for each build
-keep the logfile, but compress it



Modified: trunk/release/scripts/mono-snapshot.sh
===================================================================
--- trunk/release/scripts/mono-snapshot.sh      2006-09-12 23:19:35 UTC (rev 
65338)
+++ trunk/release/scripts/mono-snapshot.sh      2006-09-13 01:02:05 UTC (rev 
65339)
@@ -6,81 +6,105 @@
 unset MONO_PATH
 unset LD_LIBRARY_PATH
 DATE=`date +'%Y%m%d'`
-SNAPSHOT=$HOMEDIR/src/$DATE
+REPO=$HOMEDIR/src/repo
+DAILY_BUILDIR=$HOMEDIR/src/build
 PREFIX=$HOMEDIR/src/install
 export PATH=$PREFIX/bin:$PATH
 export PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig
 #export JAVA_HOME=/incoming/tmpinst/j2sdk1.4.1_03
 #export BB_REPODIR=/nfs/release/source_repository
 
-# Setup new dir
-mkdir -p $SNAPSHOT
-cd $SNAPSHOT
-echo > mono-log
+export MSVN="svn://svn.myrealbox.com/source"
+export LOGFILE="$HOMEDIR/src/$DATE.log"
 
-# Check out mono and mcs
-echo Check out mono and mcs
-svn export -q svn://svn.myrealbox.com/source/trunk/mono |tee -a mono-log
-svn export -q svn://svn.myrealbox.com/source/trunk/mcs |tee -a mono-log
+#export LOGGER="|tee -a $LOGFILE"
+# No need to output to stdout (cron mail stdout to the user) since there's a 
log file
+export LOGGER="> $LOGFILE"
 
-#Create Backup of the checkout
-echo Creating Backup for todays checkout | tee -a mono-log
-#(cd $HOMEDIR/src && tar -czvf $DATE.tar.gz $DATE/) 
-echo Finshed creating backups | tee -a mono-log
+# Clean up and set up new dir
+rm -Rf $DAILY_BUILDIR
+rm -Rf $PREFIX
+mkdir -p $DAILY_BUILDIR
 
+# Start log
+echo > $LOGFILE
+
+# Check out repo source if it doesn't exist
+if [ ! -e $REPO ] ; then
+       mkdir -p $REPO
+       cd $REPO
+       echo Check out mono and mcs
+       svn co -q $MSVN/trunk/mono $LOGGER || exit 1
+       svn co -q $MSVN/trunk/mcs $LOGGER || exit 1
+
+# Otherwise update the repo
+else
+       echo Updating repo
+       cd $REPO/mono
+       svn switch $MSVN/trunk/mono $LOGGER || exit 1
+       cd ../mcs
+       svn switch $MSVN/trunk/mcs $LOGGER || exit 1
+fi
+
+# rsync the clean source
+cd $DAILY_BUILDIR
+rsync -a --exclude '.svn/' $REPO/* .
+
 # Bump mono version number
-#echo Bump mono version number | tee -a mono-log
-(cd $SNAPSHOT/mono && cat configure.in | sed 
"s/\(AM_INIT_AUTOMAKE.*\))/\1.$DATE)/" > configure.tmp && mv configure.tmp 
configure.in ) | tee -a mono-log
+#echo Bump mono version number $LOGGER
+(cd $DAILY_BUILDIR/mono && cat configure.in | sed 
"s/\(AM_INIT_AUTOMAKE.*\))/\1.$DATE)/" > configure.tmp && mv configure.tmp 
configure.in ) $LOGGER
 
 # Build mono
-echo Building MONO | tee -a mono-log
-(cd $SNAPSHOT/mono && ./autogen.sh --prefix=$PREFIX || exit 1 ) | tee -a 
mono-log
+echo Building MONO $LOGGER
+(cd $DAILY_BUILDIR/mono && ./autogen.sh --prefix=$PREFIX || exit 1 ) $LOGGER
 
-(cd $SNAPSHOT/mono && make || exit 1 ) | tee -a mono-log
+(cd $DAILY_BUILDIR/mono && make || exit 1 ) $LOGGER
 
 # Install mono
-echo Installing mono | tee -a mono-log
-(cd $SNAPSHOT/mono && make install || exit 1 ) | tee -a mono-log
+echo Installing mono $LOGGER
+(cd $DAILY_BUILDIR/mono && make install || exit 1 ) $LOGGER
 
-LIBSDIR=$SNAPSHOT/mcs/class/lib/net_1_1_bootstrap
-cd $SNAPSHOT
+LIBSDIR=$DAILY_BUILDIR/mcs/class/lib/net_1_1_bootstrap
+cd $DAILY_BUILDIR
 # make monolite tarball
-mkdir $SNAPSHOT/monolite-$DATE
-cp $LIBSDIR/mscorlib.dll $LIBSDIR/System.dll $LIBSDIR/Mono.Security.dll 
$LIBSDIR/System.Xml.dll $LIBSDIR/mcs.exe $SNAPSHOT/monolite-$DATE
+mkdir $DAILY_BUILDIR/monolite-$DATE
+cp $LIBSDIR/mscorlib.dll $LIBSDIR/System.dll $LIBSDIR/Mono.Security.dll 
$LIBSDIR/System.Xml.dll $LIBSDIR/mcs.exe $DAILY_BUILDIR/monolite-$DATE
 
-tar zcvpf monolite-$DATE.tar.gz monolite-$DATE/ | tee -a mono-log
+tar zcvpf monolite-$DATE.tar.gz monolite-$DATE/ $LOGGER
 
 # make monocharge tarball
-mkdir $SNAPSHOT/monocharge-$DATE
+mkdir $DAILY_BUILDIR/monocharge-$DATE
 
 # install script and readme
-cp $HOMEDIR/../monocharge/* $SNAPSHOT/monocharge-$DATE
+cp $HOMEDIR/../monocharge/* $DAILY_BUILDIR/monocharge-$DATE
 
 # NET 1.0
-mkdir -p $SNAPSHOT/monocharge-$DATE/1.0
-cp $PREFIX/lib/mono/1.0/*.exe $SNAPSHOT/monocharge-$DATE/1.0
-cp $SNAPSHOT/mcs/class/lib/default/*.dll $SNAPSHOT/monocharge-$DATE/1.0
+mkdir -p $DAILY_BUILDIR/monocharge-$DATE/1.0
+cp $PREFIX/lib/mono/1.0/*.exe $DAILY_BUILDIR/monocharge-$DATE/1.0
+cp $DAILY_BUILDIR/mcs/class/lib/default/*.dll 
$DAILY_BUILDIR/monocharge-$DATE/1.0
 
 # NET 2.0
-mkdir -p $SNAPSHOT/monocharge-$DATE/2.0
-cp $PREFIX/lib/mono/2.0/*.exe $SNAPSHOT/monocharge-$DATE/2.0
-cp $SNAPSHOT/mcs/class/lib/net_2_0/*.dll $SNAPSHOT/monocharge-$DATE/2.0
+mkdir -p $DAILY_BUILDIR/monocharge-$DATE/2.0
+cp $PREFIX/lib/mono/2.0/*.exe $DAILY_BUILDIR/monocharge-$DATE/2.0
+cp $DAILY_BUILDIR/mcs/class/lib/net_2_0/*.dll 
$DAILY_BUILDIR/monocharge-$DATE/2.0
 
-tar zcvpf monocharge-$DATE.tar.gz monocharge-$DATE/ | tee -a mono-log
+tar zcvpf monocharge-$DATE.tar.gz monocharge-$DATE/ $LOGGER
 
 # Make mono tarball and check
-#(cd $SNAPSHOT/mono && make distcheck || exit 1 ) | tee -a mono-log
-(cd $SNAPSHOT/mono && make dist || exit 1 ) | tee -a mono-log
+#(cd $DAILY_BUILDIR/mono && make distcheck || exit 1 ) $LOGGER
+(cd $DAILY_BUILDIR/mono && make dist || exit 1 ) $LOGGER
 
 # Copy resulting tarball to top-level dir
-echo Copy resulting tarball to top-level dir | tee -a mono-log
-(cd $SNAPSHOT/mono && cp *.tar.gz $SNAPSHOT )
+echo Copy resulting tarball to top-level dir $LOGGER
+(cd $DAILY_BUILDIR/mono && cp *.tar.gz $DAILY_BUILDIR )
 # Not sure what this is for
-#(cd $SNAPSHOT/mono && cp *mono-$DATE* $SNAPSHOT )
+#(cd $DAILY_BUILDIR/mono && cp *mono-$DATE* $DAILY_BUILDIR )
 
-scp -i $HOMEDIR/../key/cron_key  *.tar.gz  [EMAIL PROTECTED]:go-mono/daily 
|tee -a mono-log
+scp -i $HOMEDIR/../key/cron_key  *.tar.gz  [EMAIL PROTECTED]:go-mono/daily 
$LOGGER
 
 # Run command to update webpage
-ssh -i $HOMEDIR/../key/cron_key [EMAIL PROTECTED] "go-mono/daily/make-html" 
|tee -a mono-log
+ssh -i $HOMEDIR/../key/cron_key [EMAIL PROTECTED] "go-mono/daily/make-html" 
$LOGGER
 
+# Keep log around, but compress it
+bzip $LOGFILE
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to