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
