From d66241556afede6743d3a8fc10240bd825e55bd2 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 6 Jul 2004 20:58:16 +0000 Subject: [PATCH] master build tweaks, move the untarring and etc to the remote builder git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/distrib/all/build-all | 127 ++++++++++------------------- wxPython/distrib/all/build-linux | 36 ++++---- wxPython/distrib/all/build-osx | 13 +++ wxPython/distrib/all/build-windows | 39 +++++++-- 4 files changed, 104 insertions(+), 111 deletions(-) diff --git a/wxPython/distrib/all/build-all b/wxPython/distrib/all/build-all index 4358b6c390..7c476a07ec 100755 --- a/wxPython/distrib/all/build-all +++ b/wxPython/distrib/all/build-all @@ -14,36 +14,21 @@ set -o errexit # to remote hosts STAGING_DIR=./BUILD + # host name of the machine to use for windows builds -WIN_HOST=cyclops - -# local dir (from the poerspecitve of the master machine) of the shared -# build dir on the windows machine, plus how to mount it there. If the -# [u]mount commands are empty then WIN_SHARED will be used directly. -WIN_SHARED=./tmp/mnt -WIN_MOUNT="smbmount //$WIN_HOST/BUILD $WIN_SHARED -o credentials=/etc/samba/auth.cyclops.robind,dmask=755,fmask=644" -WIN_UMOUNT="smbumount $WIN_SHARED" - -# Where is that dir from the remote machine's perspective? -WIN_SHARED_REMOTE=/c/BUILD +WIN_HOST=beast +# Where is the build dir from the remote machine's perspective? +WIN_BUILD=/c/BUILD - -# Same as the above +# Just like the above OSX_HOST=bigmac -OSX_SHARED=./tmp/mnt/BUILD -OSX_MOUNT="smbmount //$OSX_HOST/robind ./tmp/mnt -o credentials=/etc/samba/auth.bigmac.robind,dmask=755,fmask=644" -OSX_UMOUNT="smbumount ./tmp/mnt" -OSX_SHARED_REMOTE=/Users/robind/BUILD - +OSX_BUILD=/tmp/BUILD # Alsmost the same... See below LINUX_HOST=rh9 -LINUX_SHARED=/stuff/temp/BUILD -LINUX_MOUNT= -LINUX_UMOUNT= -LINUX_SHARED_REMOTE=/stuff/temp/BUILD +LINUX_BUILD=/tmp/BUILD # Upload server locations @@ -204,34 +189,19 @@ fi if [ $skipwin != yes ]; then echo "-=-=- Starting Windows build..." - # mount the shared folder? - if [ -n "$WIN_MOUNT" ]; then - echo "Mounting shared folder..." - $WIN_MOUNT - fi - - # Copy the src file - echo "Copying source file..." - cp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz $WIN_SHARED - - # Untar it on the remote machine, and then run the build script - echo "Unarchiving source file on $WIN_HOST..." - ssh $WIN_HOST "cd $WIN_SHARED_REMOTE && tar xzf wxPythonSrc-$VERSION.tar.gz && rm wxPythonSrc-$VERSION.tar.gz" - - echo "Running build script on $WIN_HOST..." - wxdir=$WIN_SHARED_REMOTE/wxPythonSrc-$VERSION - cmd=$wxdir/wxPython/distrib/all/build-windows - ssh $WIN_HOST "cd $wxdir && $cmd $wxdir $WIN_SHARED_REMOTE $skipclean $VERSION $PYVER" + echo "Copying source file and build script..." + scp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz \ + distrib/all/build-windows \ + $WIN_HOST:$WIN_BUILD - echo "Fetching the results..." - cp $WIN_SHARED/wxPythonWIN32* $STAGING_DIR - ssh $WIN_HOST "cd $WIN_SHARED_REMOTE && rm wxPythonWIN32*" + echo "Running build script on $WIN_HOST..." + wxdir=$WIN_BUILD/wxPythonSrc-$VERSION + cmd=./build-windows + ssh $WIN_HOST "cd $WIN_BUILD && $cmd $wxdir $WIN_BUILD $skipclean $VERSION $PYVER && rm $cmd" - # unmount? - if [ -n "$WIN_UMOUNT" ]; then - echo "Unmounting shared folder..." - $WIN_UMOUNT - fi + echo "Fetching the results..." + scp $WIN_HOST:$WIN_BUILD/wxPythonWIN32* $STAGING_DIR + ssh $WIN_HOST "rm $WIN_BUILD/wxPythonWIN32*" fi @@ -241,36 +211,22 @@ fi if [ $skiposx != yes ]; then echo "-=-=- Starting OSX build..." - # mount the shared folder? - if [ -n "$OSX_MOUNT" ]; then - echo "Mounting shared folder..." - $OSX_MOUNT - fi + echo "Copying source files and build script..." + ssh $OSX_HOST "mkdir -p $OSX_BUILD && rm -rf $OSX_BUILD/*" + 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 - # Copy the src file - echo "Copying source files..." - cp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz $OSX_SHARED - cp $STAGING_DIR/wxPythonDocs-$VERSION.tar.gz $OSX_SHARED - cp $STAGING_DIR/wxPythonDemo-$VERSION.tar.gz $OSX_SHARED + echo "Running build script on $OSX_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" - # Untar it on the remote machine, and then run the build script - echo "Unarchiving source file on $OSX_HOST..." - ssh root@$OSX_HOST "cd $OSX_SHARED_REMOTE && tar xzf wxPythonSrc-$VERSION.tar.gz && rm wxPythonSrc-$VERSION.tar.gz" - - echo "Running build script on $OSX_HOST..." - wxdir=$OSX_SHARED_REMOTE/wxPythonSrc-$VERSION - cmd=$wxdir/wxPython/distrib/all/build-osx - ssh root@$OSX_HOST "cd $wxdir && $cmd $wxdir $OSX_SHARED_REMOTE $skipclean $VERSION $PYVER" - - echo "Fetching the results..." - cp $OSX_SHARED/wxPythonOSX* $STAGING_DIR - ssh root@$OSX_HOST "cd $OSX_SHARED_REMOTE && rm wxPythonOSX*" - - # unmount? - if [ -n "$OSX_UMOUNT" ]; then - echo "Unmounting shared folder..." - $OSX_UMOUNT - fi + echo "Fetching the results..." + scp "$OSX_HOST:$OSX_BUILD/wxPythonOSX*" $STAGING_DIR + ssh $OSX_HOST "rm $OSX_BUILD/wxPythonOSX*" fi @@ -304,16 +260,19 @@ if [ $skiplinux != yes ]; then # unpack the tarball and most of the other steps... - echo "Copying source files..." - mkdir -p $LINUX_SHARED - cp $STAGING_DIR/wxPython*.src.rpm $LINUX_SHARED - - scp distrib/all/build-linux root@$LINUX_HOST:/tmp > /dev/null - ssh root@$LINUX_HOST "cd /tmp && ./build-linux /tmp/wx $LINUX_SHARED_REMOTE $skipclean $VERSION $PYVER" + echo "Copying source filesa nd build script..." + ssh root@$LINUX_HOST "mkdir -p $LINUX_BUILD && rm -rf $LINUX_BUILD/*" + scp $STAGING_DIR/wxPython*.src.rpm \ + distrib/all/build-linux \ + root@$LINUX_HOST:$LINUX_BUILD + + echo "Running build script on $LINUX_HOST..." + cmd=./build-linux + ssh root@$LINUX_HOST "cd $LINUX_BUILD && $cmd $LINUX_BUILD $skipclean $VERSION $PYVER" echo "Fetching the results..." - cp $LINUX_SHARED/wxPythonGTK*.i[0-9]86.rpm $STAGING_DIR - rm -r $LINUX_SHARED + scp root@$LINUX_HOST:$LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm $STAGING_DIR + ssh root@$LINUX_HOST "$LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm" fi diff --git a/wxPython/distrib/all/build-linux b/wxPython/distrib/all/build-linux index 8872d26222..ba90b54b07 100755 --- a/wxPython/distrib/all/build-linux +++ b/wxPython/distrib/all/build-linux @@ -5,11 +5,11 @@ # # The command line must have the following parameters: # -# 1. the path to the base of the wx source tree -# 2. the path of where to put the resulting RPMs -# 3. skipclean flag (yes|no) -# 4. the VERSION -# 5. the remaining args are the versions of Python to build for +# 1. the path of the build dir. The src RPMs will be here when we start +# and the binary RPMs will be left here when we're done. +# 2. skipclean flag (yes|no) +# 3. the VERSION +# 4. the remaining args are the versions of Python to build for # # --------------------------------------------------------------------------- @@ -23,11 +23,10 @@ if [ $# -lt 5 ]; then exit 1 fi -WXDIR=$1 -DESTDIR=$2 -SKIPCLEAN=$3 -VERSION=$4 -shift;shift;shift;shift +DESTDIR=$1 +SKIPCLEAN=$2 +VERSION=$3 +shift;shift;shift PYVER=$@ # Since this is probably a VMWare guest, make sure that the date and @@ -35,19 +34,12 @@ PYVER=$@ ntpdate gate.alldunn.com -# In this case $WXDIR is where we will build at, but the source tree -# won't be there like the other builds. The source RPMs will be in -# $DESTDIR, and we'll put the binary RPMs back there when done. - -echo "Preparing $WXDIR..." -mkdir -p $WXDIR -cd $WXDIR -rm -rf * +cd $DESTDIR for ver in $PYVER; do echo "Building the RPMs for Python $ver..." - myrpmbuild --rebuild $DESTDIR/wxPythonGTK-py$ver-$VERSION-1.src.rpm - myrpmbuild --rebuild $DESTDIR/wxPythonGTK2-py$ver-$VERSION-1.src.rpm + myrpmbuild --rebuild wxPythonGTK-py$ver-$VERSION-1.src.rpm + myrpmbuild --rebuild wxPythonGTK2-py$ver-$VERSION-1.src.rpm done @@ -58,7 +50,9 @@ cd $DESTDIR if [ $SKIPCLEAN != yes ]; then echo "Cleaning up..." - rm -rf $WXDIR || true + for ver in $PYVER; do + rm wxPythonGTK-py$ver-$VERSION-1.src.rpm + done fi echo "-=-=-=- Goodbye! -=-=-=-" diff --git a/wxPython/distrib/all/build-osx b/wxPython/distrib/all/build-osx index f34a0df538..77fc27d89a 100755 --- a/wxPython/distrib/all/build-osx +++ b/wxPython/distrib/all/build-osx @@ -30,6 +30,17 @@ VERSION=$4 shift;shift;shift;shift PYVER=$@ + +export PATH=/sw/bin:$PATH + + +# untar the source +echo "Unarchiving wxPythonSrc-$VERSION.tar.gz" +cd $DESTDIR +tar xzf wxPythonSrc-$VERSION.tar.gz +rm wxPythonSrc-$VERSION.tar.gz + + echo "Invoking wxPythonOSX build script..." cd $WXDIR/wxPython export TARBALLDIR=$DESTDIR @@ -45,6 +56,8 @@ cd $DESTDIR if [ $SKIPCLEAN != yes ]; then echo "Cleaning up..." rm -r $WXDIR || true + rm wxPythonDocs-$VERSION.tar.gz + rm wxPythonDemo-$VERSION.tar.gz fi echo "-=-=-=- Goodbye! -=-=-=-" diff --git a/wxPython/distrib/all/build-windows b/wxPython/distrib/all/build-windows index bde2a5ecf4..7024f4efca 100755 --- a/wxPython/distrib/all/build-windows +++ b/wxPython/distrib/all/build-windows @@ -30,22 +30,45 @@ VERSION=$4 shift;shift;shift;shift PYVER=$@ + # WXDIR is the cygwin path, WXWIN is the DOS path WXWIN_OLD=$WXWIN -WXWIN=`cygpath -w $WXDIR` +WXWIN=`cygpath -m $WXDIR` export WXWIN -# Fix the PATH. (Why is this needed??) -PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/robind/bin:.:$WXDIR/lib/vc_dll:$PATH -export PATH -# change to the right spot and copy our build scripts +# # Fix the PATH. (Why is this needed??) +# PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/robind/bin:.:$WXDIR/lib/vc_dll:$PATH +# export PATH +# echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" +# echo $PATH +# echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" +# exit 0 + + +# untar the source +echo "Unarchiving wxPythonSrc-$VERSION.tar.gz" +cd $DESTDIR +tar xzf wxPythonSrc-$VERSION.tar.gz +rm wxPythonSrc-$VERSION.tar.gz + + +# Fix line endings +echo "Converting wxPython line endings to CRLF..." +cd $WXDIR +names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.h" -o -name "*.cpp" -o -name "*.c" -o -name "*.xml" ` +unix2dos -D $names + + +# change to the right spot in the source tree and copy our build scripts +echo "Setting up for the build..." cd $WXDIR/build/msw cp $WXDIR/wxPython/distrib/msw/.m* . + # replace some settings in setup0.h and write to setup.h cat > .my.sedexpr <