Some tweaks for building the RPMs for multiple different versions of Python

all with a single command.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2001-07-05 18:54:09 +00:00
parent 04dbb6467b
commit cfe766c352
2 changed files with 70 additions and 40 deletions

View File

@@ -1,20 +1,24 @@
#!/bin/sh
if [ "$1" = "15" ]; then
PYVER=1.5
shift
elif [ "$1" = "20" ]; then
PYVER=2.0
shift
elif [ "$1" = "21" ]; then
PYVER=2.1
shift
else
echo You must specify Python version as first parameter.
exit
fi
function getpyver {
if [ "$1" = "15" ]; then
PYVER=1.5
elif [ "$1" = "20" ]; then
PYVER=2.0
elif [ "$1" = "21" ]; then
PYVER=2.1
else
echo You must specify Python version as first parameter.
exit
fi
}
getpyver $1
shift
python$PYVER -c "import sys;print '\n', sys.version, '\n'"
WXPYVER=`python -c "import setup;print setup.VERSION"`
SETUP="python$PYVER -u setup.py"
FLAGS="USE_SWIG=1 IN_CVS_TREE=1"
OTHERFLAGS=""
@@ -50,28 +54,47 @@ elif [ "$1" = "s" ]; then
# "r" --> rpm dist
elif [ "$1" = "r" ]; then
# save the original
cp setup.py setup.py.save
for VER in 15 20 21; do
getpyver $VER
# fix up setup.py the way we want...
sed "s/BUILD_GLCANVAS = /BUILD_GLCANVAS = 0 #/" < setup.py.save > setup.py.temp
sed "s/GL_ONLY = /GL_ONLY = 1 #/" < setup.py.temp > setup.py
echo "*****************************************************************"
echo "******* Building wxPython for Python $PYVER"
echo "*****************************************************************"
# build wxPython-gl RPM
$SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt
rm dist/wxPython-gl*.tar.gz
# NOTE: This assumes that /usr/local/bin is BEFORE /usr/bin on the PATH
# AND that you have write access to it.
rm -f /usr/local/bin/python
ln -s /usr/bin/python$PYVER /usr/local/bin/python
SETUP="/usr/local/bin/python -u setup.py"
# Build wxPython RPM
cp setup.py setup.py.temp
sed "s/GL_ONLY = /GL_ONLY = 0 #/" < setup.py.temp > setup.py
$SETUP $OTHERFLAGS bdist_rpm
# save the original
cp setup.py setup.py.save
# put the oringal back
cp setup.py.save setup.py
rm setup.py.*
# fix up setup.py the way we want...
sed "s/BUILD_GLCANVAS = /BUILD_GLCANVAS = 0 #/" < setup.py.save > setup.py.temp
sed "s/GL_ONLY = /GL_ONLY = 1 #/" < setup.py.temp > setup.py
# rebuild the source dist without the munched up setup.py
# build wxPython-gl RPM
$SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt
rm dist/wxPython-gl*.tar.gz
# Build wxPython RPM
cp setup.py setup.py.temp
sed "s/GL_ONLY = /GL_ONLY = 0 #/" < setup.py.temp > setup.py
$SETUP $OTHERFLAGS bdist_rpm --binary-only
# put the oringal setup.py back
cp setup.py.save setup.py
rm setup.py.*
# rename the binary RPM's
mv dist/wxPython-$WXPYVER-1.i386.rpm dist/wxPython-$WXPYVER-1-Py$VER.i386.rpm
mv dist/wxPython-gl-$WXPYVER-1.i386.rpm dist/wxPython-gl-$WXPYVER-1-Py$VER.i386.rpm
done
# rebuild the source dists without the munched up setup.py
$SETUP $OTHERFLAGS sdist
$SETUP $OTHERFLAGS bdist_rpm --source-only
exit 0

View File

@@ -28,7 +28,7 @@ on.
"""
BUILD_GLCANVAS = 1 # If true, build the contrib/glcanvas extension module
BUILD_GLCANVAS = 0 #1 # If true, build the contrib/glcanvas extension module
BUILD_OGL = 1 # If true, build the contrib/ogl extension module
BUILD_STC = 1 # If true, build the contrib/stc extension module
BUILD_IEWIN = 0 # Internet Explorer wrapper (experimental)
@@ -36,7 +36,7 @@ BUILD_XRC = 1 # XML based resource system
CORE_ONLY = 0 # if true, don't build any of the above
GL_ONLY = 0 # Only used when making the -gl RPM. See the "b" script
GL_ONLY = 0 #1 #0 # Only used when making the -gl RPM. See the "b" script
# for the ugly details
USE_SWIG = 0 # Should we actually execute SWIG, or just use the
@@ -67,6 +67,13 @@ HYBRID = 0 # If set and not debug or FINAL, then build a
WXDLLVER = '23_1' # Version part of DLL name
#----------------------------------------------------------------------
def msg(text):
if __name__ == "__main__":
print text
#----------------------------------------------------------------------
# Some other globals
#----------------------------------------------------------------------
@@ -80,7 +87,7 @@ debug = '--debug' in sys.argv or '-g' in sys.argv
bcpp_compiling = '-c' in sys.argv and 'my_bcpp' in sys.argv # Bad heuristic
if bcpp_compiling:
print "Compiling wxPython by Borland C/C++ Compiler"
msg("Compiling wxPython by Borland C/C++ Compiler")
HYBRID=0
WXBCPPLIBVER = string.replace(WXDLLVER,"_","")
# Version part of BCPP build LIBRARY name
@@ -113,7 +120,7 @@ sys.argv = filter(None, sys.argv)
if CORE_ONLY:
BUILD_GLCANVAS = 0
BUILD_GLCANVAS = 0 #0
BUILD_OGL = 0
BUILD_STC = 0
BUILD_XRC = 0
@@ -270,7 +277,7 @@ swig_deps = ['src/my_typemaps.i']
#----------------------------------------------------------------------
if not GL_ONLY:
print 'Preparing CORE...'
msg('Preparing CORE...')
swig_files = [ 'wx.i', 'windows.i', 'windows2.i', 'windows3.i', 'events.i',
'misc.i', 'misc2.i', 'gdi.i', 'mdi.i', 'controls.i',
'controls2.i', 'cmndlgs.i', 'stattool.i', 'frames.i', 'image.i',
@@ -375,7 +382,7 @@ if not GL_ONLY:
#----------------------------------------------------------------------
if BUILD_GLCANVAS or GL_ONLY:
print 'Preparing GLCANVAS...'
msg('Preparing GLCANVAS...')
location = 'contrib/glcanvas'
swig_files = ['glcanvas.i']
other_sources = []
@@ -415,7 +422,7 @@ if BUILD_GLCANVAS or GL_ONLY:
#----------------------------------------------------------------------
if not GL_ONLY and BUILD_OGL:
print 'Preparing OGL...'
msg('Preparing OGL...')
location = 'contrib/ogl'
OGLLOC = location + '/contrib/src/ogl'
OGLINC = location + '/contrib/include'
@@ -464,7 +471,7 @@ if not GL_ONLY and BUILD_OGL:
#----------------------------------------------------------------------
if not GL_ONLY and BUILD_STC:
print 'Preparing STC...'
msg('Preparing STC...')
location = 'contrib/stc'
STCLOC = location + '/contrib/src/stc'
STCINC = location + '/contrib/include'
@@ -483,7 +490,7 @@ if not GL_ONLY and BUILD_STC:
[STC_H+'/stc.h'])
# copy a project specific py module to the main package dir
copy_file(location+'/stc.py', PKGDIR, update=1, verbose=1)
copy_file(location+'/stc.py', PKGDIR, update=1, verbose=0)
# add some include dirs to the standard set
stc_includes = includes[:]
@@ -549,7 +556,7 @@ if not GL_ONLY and BUILD_STC:
#----------------------------------------------------------------------
if not GL_ONLY and BUILD_IEWIN:
print 'Preparing IEWIN...'
msg('Preparing IEWIN...')
location = 'contrib/iewin'
swig_files = ['iewin.i', ]
@@ -579,7 +586,7 @@ if not GL_ONLY and BUILD_IEWIN:
#----------------------------------------------------------------------
if not GL_ONLY and BUILD_XRC:
print 'Preparing XRC...'
msg('Preparing XRC...')
location = 'contrib/xrc'
XMLLOC = location + '/contrib/src/xrc'
XMLINC = location + '/contrib/include'