X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4bd19ff3335697ee52c18ae314fcc0411aec83cf..7093495299832111b5841485c94307ffedbaec90:/wxPython/distrib/all/build-all?ds=sidebyside diff --git a/wxPython/distrib/all/build-all b/wxPython/distrib/all/build-all index 516ddb2a26..b0e0c2504b 100755 --- a/wxPython/distrib/all/build-all +++ b/wxPython/distrib/all/build-all @@ -22,12 +22,12 @@ WIN_BUILD=/c/BUILD # Just like the above -OSX_HOST=bigmac +OSX_HOST_panther=bigmac +OSX_HOST_jaguar=whopper OSX_BUILD=/tmp/BUILD -# Alsmost the same... See below -LINUX_HOST=rh9 +# Alsmost the same... See below for hosts and other info LINUX_BUILD=/tmp/BUILD @@ -211,74 +211,100 @@ fi # --------------------------------------------------------------------------- # OSX build -if [ $skiposx != yes ]; then - echo "-=-=- Starting OSX build..." +function DoOSXBuild { + local host=$1 + local flavor=$2 + + # test if the target machine is online + if ping -q -c1 -w1 $host > /dev/null; then + echo "-----------------------------------------------------------------" + echo " The $host machine is online, OSX-$flavor build continuing..." + echo "-----------------------------------------------------------------" + else + echo "-----------------------------------------------------------------" + echo "The $host machine is offline, skipping the OSX-$flavor build." + echo "-----------------------------------------------------------------" + return 0 + fi + + echo "-=-=- Starting OSX-$flavor build on $host..." echo "Copying source files and build script..." - ssh $OSX_HOST "mkdir -p $OSX_BUILD && rm -rf $OSX_BUILD/*" + ssh root@$host "mkdir -p $OSX_BUILD && rm -rf $OSX_BUILD/* || true" scp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz \ $STAGING_DIR/wxPythonDocs-$VERSION.tar.gz \ $STAGING_DIR/wxPythonDemo-$VERSION.tar.gz \ distrib/all/build-osx \ - $OSX_HOST:$OSX_BUILD + root@$host:$OSX_BUILD - echo "Running build script on $OSX_HOST..." + echo "Running build script on $host..." wxdir=$OSX_BUILD/wxPythonSrc-$VERSION cmd=./build-osx - ssh root@$OSX_HOST "cd $OSX_BUILD && $cmd $wxdir $OSX_BUILD $skipclean $VERSION $PYVER && rm $cmd" + ssh root@$host "cd $OSX_BUILD && $cmd $wxdir $OSX_BUILD $skipclean $VERSION $flavor $PYVER && rm $cmd" echo "Fetching the results..." - scp "$OSX_HOST:$OSX_BUILD/wxPythonOSX*" $STAGING_DIR - ssh $OSX_HOST "rm $OSX_BUILD/wxPythonOSX*" + scp "root@$host:$OSX_BUILD/wxPythonOSX*" $STAGING_DIR + ssh root@$host "rm $OSX_BUILD/wxPythonOSX*" + +} + + +if [ $skiposx != yes ]; then + + DoOSXBuild $OSX_HOST_panther panther + DoOSXBuild $OSX_HOST_jaguar jaguar + fi # --------------------------------------------------------------------------- # Linux build -# This build is optional, check if the target machine is up and -# running -if [ $skiplinux != yes ]; then - if ping -q -c1 -w1 $LINUX_HOST > /dev/null; then - # the ping succeeded - skiplinux=no +# The remote Linux builds are different than those above. The source +# RPMs were already built in the source step, and so building the +# binary RPMs is a very simple followup step. But then add to that +# the fact that we need to build on more than one distro... + +function DoLinuxBuild { + local host=$1 + local reltag=$2 + shift;shift + local pyver=$@ + + # test if the target machine is online + if ping -q -c1 -w1 $host > /dev/null; then + echo "-----------------------------------------------------------------" + echo " The $host machine is online, build continuing..." + echo "-----------------------------------------------------------------" else - # the ping failed, skip the build - skiplinux=yes echo "-----------------------------------------------------------------" - echo "The $LINUX_HOST machine is offline, skipping the binary RPM build." + echo "The $host machine is offline, skipping the binary RPM build." echo "-----------------------------------------------------------------" + return 0 fi -fi - - -if [ $skiplinux != yes ]; then - echo "-=-=- Starting Linux build..." - - # The remote linux build is a bit different than the others. The - # SRPMs will have already been built in the initial source - # building steps, the only thing that the remote build needs to - # do is an "rpmbuild --rebuild" for each package. So we'll just - # copy the build script over and execute it, there is no need to - # unpack the tarball and most of the other steps... - - + echo "Copying source files and build script..." - ssh root@$LINUX_HOST "mkdir -p $LINUX_BUILD && rm -rf $LINUX_BUILD/*" + ssh root@$host "mkdir -p $LINUX_BUILD && rm -rf $LINUX_BUILD/*" scp $STAGING_DIR/wxPython*.src.rpm \ distrib/all/build-linux \ - root@$LINUX_HOST:$LINUX_BUILD + root@$host:$LINUX_BUILD - echo "Running build script on $LINUX_HOST..." + echo "Running build script on $host..." cmd=./build-linux - ssh root@$LINUX_HOST "cd $LINUX_BUILD && $cmd $LINUX_BUILD $skipclean $VERSION $PYVER" + ssh root@$host "cd $LINUX_BUILD && ./build-linux $reltag $skipclean $VERSION $pyver" echo "Fetching the results..." - scp root@$LINUX_HOST:$LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm $STAGING_DIR - ssh root@$LINUX_HOST "rm $LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm" -fi + scp "root@$host:$LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm" $STAGING_DIR + ssh root@$host "rm $LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm" +} +if [ $skiplinux != yes ]; then + + DoLinuxBuild co-rh9 RH9 $PYVER + DoLinuxBuild co-fc2 FC2 2.3 + +fi # --------------------------------------------------------------------------- @@ -309,14 +335,14 @@ if [ $KIND = daily ]; then # TODO: something to remove old builds from starship, keeping # only N days worth - # TODO: Send email to wxPython-dev? + # Send email to wxPython-dev DATE=`date` TO=wxPython-dev@lists.wxwidgets.org cat < To: $TO -Subject: New test build uploaded +Subject: $DAILY test build uploaded Date: $DATE Hi, @@ -324,8 +350,8 @@ Hi, A new test build of wxPython has been uploaded to starship. Version: $VERSION - Pythons: $PYVER URL: http://starship.python.net/crew/robind/wxPython/daily/$DAILY + Changes: http://starship.python.net/crew/robind/wxPython/daily/$DAILY/CHANGES.html Have fun! R'bot @@ -353,6 +379,29 @@ if [ $KIND = release ]; then rm $STAGING_DIR/* rmdir $STAGING_DIR + # Send email to wxPython-dev + DATE=`date` + TO=wxPython-dev@lists.wxwidgets.org + + cat < +To: $TO +Subject: $VERSION release candidate build uploaded +Date: $DATE + +Hi, + +A new RC build of wxPython has been uploaded to starship. + + Version: $VERSION + URL: http://starship.python.net/crew/robind/wxPython/preview/$VERSION + Changes: http://starship.python.net/crew/robind/wxPython/preview/$VERSION/CHANGES.html + +Have fun! +R'bot + +EOF + echo "Finished at " `date` exit 0 fi