Build and distrib tweaks ported over from the 2.6 branch

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-07-05 05:23:28 +00:00
parent 2dfa1180b0
commit 0f475e8aa9
24 changed files with 301 additions and 182 deletions

View File

@@ -40,53 +40,58 @@ class Job(Job):
def getTasks(config_env):
# Things that need to be done before any of the builds
initialTask = Task([
Job("cleanup", "distrib/all/build-setup", env=config_env),
Job("makedocs", "distrib/all/build-docs", env=config_env),
Job("maketarball", "distrib/all/build-sources", env=config_env),
Job("", "distrib/all/build-setup", env=config_env),
Job("", "distrib/all/build-docs", env=config_env),
Job("", "distrib/all/build-sources", env=config_env),
])
# Build tasks. Anything that can be done in parallel (depends greatly
# on the nature of the build machines configurations...) is a separate
# task.
jaguarTask = Task(
Job("whopper.23",
"distrib/all/build-osx", [config.OSX_HOST_jaguar, "jaguar", "2.3"], env=config_env) )
jaguarTask = Task( Job("whopper.23", "distrib/all/build-osx",
[config.OSX_HOST_jaguar, "2.3", "ansi"], env=config_env) )
pantherTask = Task(
[ Job("bigmac.23",
"distrib/all/build-osx", [config.OSX_HOST_panther, "panther", "2.3"], env=config_env),
Job("bigmac.24",
"distrib/all/build-osx", [config.OSX_HOST_panther, "panther", "2.4"], env=config_env)
])
pantherTask = Task( [ Job("bigmac.23",
"distrib/all/build-osx",
[config.OSX_HOST_panther, "2.3", "both"], env=config_env),
Job("bigmac.24",
"distrib/all/build-osx",
[config.OSX_HOST_panther, "2.4", "both"], env=config_env)
])
tigerTask = Task([ #Job("smallfry.23",
# "distrib/all/build-osx",
# [config.OSX_HOST_tiger, "2.3", "both"], env=config_env),
Job("smallfry.24",
"distrib/all/build-osx",
[config.OSX_HOST_tiger, "2.4", "both", "universal"], env=config_env),
Job("smallfry.25",
"distrib/all/build-osx",
[config.OSX_HOST_tiger, "2.5", "both", "universal"], env=config_env)
])
beastTask1 = Task(
[ Job("beast.23", "distrib/all/build-windows", ["2.3"], env=config_env),
Job("co-rh9.23", ["distrib/all/build-rpm", CFGFILE, "beast", "co-rh9", "rh9", "2.3"]),
Job("co-rh9.23", "distrib/all/build-rpm", ["beast", "co-rh9", "rh9", "2.3"], env=config_env),
Job("beast.24", "distrib/all/build-windows", ["2.4"], env=config_env),
Job("co-rh9.24", ["distrib/all/build-rpm", CFGFILE, "beast", "co-rh9", "rh9", "2.4"]),
Job("co-rh9.24", "distrib/all/build-rpm", ["beast", "co-rh9", "rh9", "2.4"], env=config_env),
Job("beast.25", "distrib/all/build-windows", ["2.5"], env=config_env),
])
beastTask2 = Task(
[ Job("co-fc2.23", ["distrib/all/build-rpm", CFGFILE, "beast", "co-fc2", "fc2", "2.3"]),
#Job("co-mdk101.23", ["distrib/all/build-rpm", CFGFILE, "beast", "co-mdk101","mdk101","2.3"]),
Job("co-fc4.24", ["distrib/all/build-rpm", CFGFILE, "beast", "co-fc4", "fc4", "2.4"]),
#Job("co-fc2.24", ["distrib/all/build-rpm", CFGFILE, "beast", "co-fc2", "fc2", "2.4"]),
Job("co-mdk102.24", ["distrib/all/build-rpm", CFGFILE, "beast", "co-mdk102","mdk102","2.4"]),
[ Job("co-fc2.23", "distrib/all/build-rpm", ["beast", "co-fc2", "fc2", "2.3"], env=config_env),
Job("co-fc4.24", "distrib/all/build-rpm", ["beast", "co-fc4", "fc4", "2.4"], env=config_env),
Job("co-mdk102.24", "distrib/all/build-rpm", ["beast", "co-mdk102", "mdk102", "2.4"], env=config_env),
Job("co-mdk2006.24","distrib/all/build-rpm", ["beast", "co-mdk2006", "mdk2006", "2.4"], env=config_env),
])
## cyclopsTask = Task(
## [ Job("co-mdk92.23", "distrib/all/build-rpm", ["cyclops", "co-mdk92", "mdk92", "2.3"], env=config_env),
## Job("co-rh9.23", "distrib/all/build-rpm", ["cyclops", "co-rh9", "rh9", "2.3"], env=config_env),
## Job("co-mdk92.24", "distrib/all/build-rpm", ["cyclops", "co-mdk92", "mdk92", "2.4"], env=config_env),
## Job("co-rh9.24", "distrib/all/build-rpm", ["cyclops", "co-rh9", "rh9", "2.4"], env=config_env),
## ])
buildTasks = [ jaguarTask,
pantherTask,
tigerTask,
beastTask1,
beastTask2,
## cyclopsTask,
]
# Finalization. This is for things that must wait until all the

View File

@@ -3,12 +3,6 @@
set -o errexit
set
# read the config variables from the file given on the command line
# . $1
if [ $skipdocs != yes ]; then
# Regenerate the reST docs
echo "Regenerating the reST docs..."

View File

@@ -1,36 +1,42 @@
skipnewdocs="no"
# Just like the above
OSX_HOST_panther="bigmac"
OSX_HOST_jaguar="whopper"
OSX_BUILD="/BUILD"
# Alsmost the same... See below for hosts and other info
LINUX_BUILD="/tmp/BUILD"
# the local spot that we put everything when done, before possibly copying
# the local spot that we put everything when done, before copying
# to remote hosts
STAGING_DIR="./BUILD"
UPLOAD_DAILY_ROOT="/home/crew/robind/public_html/wxPython/daily"
STAGING_DIR = ./BUILD
# host name of the machine to use for windows builds
WIN_HOST="beast"
WIN_HOST = beast
# Where is the build dir from the remote machine's perspective?
WIN_BUILD="/c/BUILD"
WIN_BUILD = /c/BUILD
UPLOAD_HOST="starship.python.net"
skipsource="no"
KIND="dryrun"
UPLOAD_PREVIEW_ROOT="/home/crew/robind/public_html/wxPython/rc"
skipclean="no"
# Just like the above
OSX_HOST_tiger = smallfry
OSX_HOST_panther = bigmac
OSX_HOST_jaguar = whopper
OSX_BUILD = /BUILD
# Almost the same... Hosts and other info comes from the Job
# descriptions in this case
LINUX_BUILD = /tmp/BUILD
# Upload server locations
UPLOAD_HOST = starship.python.net
UPLOAD_DAILY_ROOT = /home/crew/robind/public_html/wxPython/daily
UPLOAD_PREVIEW_ROOT = /home/crew/robind/public_html/wxPython/rc
# defaults for build options
KIND = dryrun
skipsource = no
onlysource = no
skipdocs = no
skipwin = no
skiposx = no
skiplinux = no
skipclean = no
skipupload = no
skipnewdocs = no
startcohost = yes
skipdocs="no"
skipwin="no"
skiplinux="no"
skipupload="no"
startcohost="yes"
skiposx="no"
onlysource="no"

View File

@@ -3,10 +3,6 @@
set -o errexit
# read the config variables from the file given on the command line
# . $1
chmod a+r $STAGING_DIR/*

View File

@@ -3,20 +3,18 @@
set -o errexit
# read the config variables from the file given on the command line
# . $1
host=$1
flavor=$2
pyver=$3
pyver=$2
chartype=$3
flags=$4
if [ $skiposx != yes ]; then
# test if the target machine is online
if ping -q -c1 -w1 $host > /dev/null; then
echo " The $host machine is online, OSX-$flavor build continuing..."
echo " The $host machine is online, OSX build continuing..."
else
echo "The $host machine is **OFFLINE**, skipping the OSX-$flavor build."
echo "The $host machine is **OFFLINE**, skipping the OSX build."
exit 0
fi
@@ -32,7 +30,7 @@ if [ $skiposx != yes ]; then
echo "Running build script on $host..."
wxdir=$OSX_BUILD/wxPython-src-$VERSION
cmd=./do-build-osx
ssh root@$host "cd $OSX_BUILD && $cmd $wxdir $OSX_BUILD $skipclean $VERSION $flavor $pyver && rm $cmd"
ssh root@$host "cd $OSX_BUILD && $cmd $wxdir $OSX_BUILD $skipclean $VERSION $pyver $chartype $flags && rm $cmd"
echo "Fetching the results..."
scp "root@$host:$OSX_BUILD/wxPython*-osx*" $STAGING_DIR

View File

@@ -3,8 +3,6 @@
set -o errexit
# read the config variables from the file given on the command line
# . $1
coHost=$1
host=$2

View File

@@ -3,9 +3,6 @@
set -o errexit
# read the config variables from the file given on the command line
# . $1
# clean out the local dist dir
rm -f dist/*

View File

@@ -3,9 +3,6 @@
set -o errexit
# read the config variables from the file given on the command line
# . $1
if [ $skipsource != yes -o $onlysource = yes ]; then
# make the source tarball and srpm

View File

@@ -3,8 +3,6 @@
set -o errexit
# read the config variables from the file given on the command line
# . $1
PYVER=$1

View File

@@ -9,8 +9,9 @@
# 2. the path of where to put the resulting installers
# 3. skipclean flag (yes|no)
# 4. the VERSION
# 5. the KIND (panther or jaguar)
# *. the remaining args are the versions of Python to build for
# 5. the version of Python to build for
# 6. the character type (ansi|unicode|both)
# 7. optional flags to pass on to the build script
#
# ---------------------------------------------------------------------------
@@ -20,7 +21,7 @@ set -o errexit
echo "-=-=-=- Hello from $HOSTNAME -=-=-=-"
if [ $# -lt 6 ]; then
echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION KIND PYVER"
echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION PYVER CHARTYPE [FLAGS]"
exit 1
fi
@@ -28,8 +29,9 @@ WXDIR=$1
DESTDIR=$2
SKIPCLEAN=$3
VERSION=$4
KIND=$5
PYVER=$6
PYVER=$5
CHARTYPE=$6
FLAGS=$7
#export PATH=/sw/bin:/usr/local/bin:$PATH
@@ -49,11 +51,12 @@ echo "Invoking wxPythonOSX build script..."
cd $WXDIR/wxPython
export TARBALLDIR=$DESTDIR
mkdir -p dist
if [ $KIND = panther ]; then
distrib/mac/wxPythonOSX/build $PYVER $KIND inplace unicode
if [ $CHARTYPE = both ]; then
distrib/mac/wxPythonOSX/build $PYVER inplace unicode $FLAGS
distrib/mac/wxPythonOSX/build $PYVER inplace ansi $FLAGS
else
distrib/mac/wxPythonOSX/build $PYVER inplace $CHARTYPE $FLAGS
fi
distrib/mac/wxPythonOSX/build $PYVER $KIND inplace
echo "Copying installers to $DESTDIR..."
cp dist/*.dmg $DESTDIR

View File

@@ -31,10 +31,10 @@ PYVER=$5
# WXDIR is the cygwin path, WXWIN is the DOS path
WXWIN_OLD=$WXWIN
WXWIN=`cygpath -w $WXDIR`
export WXWIN
export WXDIR
export TOOLS=/cygdrive/c/TOOLS
# setup the compiler
@@ -93,13 +93,35 @@ echo "Building the wx DLLs..."
.make hybrid-uni
#echo "Building the wx tools..."
#.make_tools
echo "Building tex2rtf..."
cd $WXDIR/utils/tex2rtf/src
$WXDIR/build/msw/.mymake hybrid
cp vc_mswhdll/tex2rtf.exe $WXDIR/lib/vc_dll/tex2rtf.exe
echo "Building the HTMLHelp file..."
DOCDIR=$WXDIR/docs
cd $DOCDIR/latex/wx
mkdir -p $DOCDIR/html/wx
cp *.gif $DOCDIR/html/wx
cp *.css $DOCDIR/html/wx
DOCSRC=`cygpath -w $DOCDIR/latex/wx/manual.tex`
DOCDEST=`cygpath -w $DOCDIR/html/wx/wx.htm`
DOCINI=`cygpath -w $DOCDIR/latex/wx/tex2rtf_css.ini`
$WXDIR/lib/vc_dll/tex2rtf.exe $DOCSRC $DOCDEST -twice -html -macros $DOCINI
cd $DOCDIR/html/wx
cp $DOCDIR/latex/wx/wx.css .
$TOOLS/HTMLHelpWorkshop/hhc.exe wx.hhp || true
mkdir -p ../../htmlhelp
mv wx.chm ../../htmlhelp
# rm -f $DOCDIR/html/wx/*.con
# rm -f $DOCDIR/html/wx/*.ref
# rm -f $DOCDIR/latex/wx/*.con
# rm -f $DOCDIR/latex/wx/*.ref
# cheat and just copy the .CHM files from the regular project dir
# TODO: Copy over the wxPython-docs fle and run hhc on the contents of that.
mkdir -p $WXDIR/docs/htmlhelp
cp `cygpath $WXWIN_OLD/docs/htmlhelp`/*.chm $WXDIR/docs/htmlhelp
echo "Building wxPython and installers..."
@@ -119,7 +141,7 @@ done
echo "Building the developer package..."
WXWIN=`cygpath -w $WXDIR`
export WXWIN
4nt /c distrib/makedev.bat $VERSION
$TOOLS/4dos/4nt /c distrib/makedev.bat $VERSION
echo "Copying installers to $DESTDIR..."

View File

@@ -45,7 +45,7 @@ class Config:
continue # it's a comment, move on
data = line.split("=")
if len(data) == 2:
self.__dict__[data[0]] = data[1]
self.__dict__[data[0].strip()] = data[1].strip()
myfile.close()
class Job(object):