# 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
+# host name of the machine to use for windows builds
+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
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*"
-
- # unmount?
- if [ -n "$WIN_UMOUNT" ]; then
- echo "Unmounting shared folder..."
- $WIN_UMOUNT
- fi
+ 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"
+
+ echo "Fetching the results..."
+ scp $WIN_HOST:$WIN_BUILD/wxPythonWIN32* $STAGING_DIR
+ ssh $WIN_HOST "rm $WIN_BUILD/wxPythonWIN32*"
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
-
- # 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
-
- # 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 "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
+
+ 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"
+
+ echo "Fetching the results..."
+ scp "$OSX_HOST:$OSX_BUILD/wxPythonOSX*" $STAGING_DIR
+ ssh $OSX_HOST "rm $OSX_BUILD/wxPythonOSX*"
fi
# 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
#
# 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
#
# ---------------------------------------------------------------------------
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
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
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! -=-=-=-"
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 <<EOF
-# s/wxDIALOG_UNIT_COMPATIBILITY *1/wxDIALOG_UNIT_COMPATIBILITY 0/g
+s/wxDIALOG_UNIT_COMPATIBILITY *1/wxDIALOG_UNIT_COMPATIBILITY 0/g
s/wxUSE_DEBUG_CONTEXT *0/wxUSE_DEBUG_CONTEXT 1/g
s/wxUSE_MEMORY_TRACING *0/wxUSE_MEMORY_TRACING 1/g
s/wxUSE_DIALUP_MANAGER *1/wxUSE_DIALUP_MANAGER 0/g
.make hybrid
.make hybrid-uni
+
echo "Building the wx tools..."
.make_tools
# cheat and just copy the .CHM files from the regular project dir
+# TODO: Copy over the wxPythonDocs fle and run hhc on the contents of that.
mkdir -p $WXDIR/docs/htmlhelp
cp `cygpath $WXWIN_OLD/docs/htmlhelp`/*.chm $WXDIR/docs/htmlhelp
done
echo "Building the developer package..."
+WXWIN=`cygpath -w $WXDIR`
+export WXWIN
4nt /c distrib/makedev.bat $VERSION