Starting to update the tarball and rpm spec files for 2.5. Mostly

done but some fine tuning still needs done.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-01-13 03:42:43 +00:00
parent 47e8744686
commit 59455c67d4
2 changed files with 143 additions and 103 deletions

View File

@ -2,6 +2,8 @@
#----------------------------------------------------------------------
# Build an RPM containing both wxGTK and wxPython
##set -o xtrace
spectemplate=distrib/wxPythonFull.spec.in
if [ ! -d wxPython -o ! -e ${spectemplate} ]; then
@ -13,6 +15,7 @@ fi
#----------------------------------------------------------------------
# Initialization
version=`python -c "import setup;print setup.VERSION"`
wxpdir=`pwd`
wxdir=${wxpdir}/..
distdir=${wxpdir}/dist
@ -29,9 +32,8 @@ rpmflag=-ba
#----------------------------------------------------------------------
# Check parameters
function useage {
echo "Usage: $0 wx_version py_version [command flags...]"
echo " wx_version String to use for version in filenames, etc."
function usage {
echo "Usage: $0 py_version [command flags...]"
echo " py_version String to append to $pythonbin (which python"
echo " version to use.)"
echo ""
@ -48,13 +50,12 @@ function useage {
}
if [ $# -lt 2 ]; then
useage
usage
exit 1
fi
version=$1
pyver=$2
shift;shift
pyver=$1
shift
ver2=`echo ${version} | cut -c 1,2,3`
tarver=${tarname}-${version}
@ -95,7 +96,7 @@ for flag in $*; do
srpm) rpmflag=-bs; ;;
*) echo "Unknown flag \"${flag}\""
useage
usage
exit 1
esac
done
@ -124,6 +125,14 @@ done
#----------------------------------------------------------------------
# Copy the sources from my CVS workspace
function cleanup {
RMFILES=`find . -name "$1"`
if [ "$RMFILES" != "" ]; then
rm -rf $RMFILES
fi
}
if [ -z "${skipcopy}" ]; then
echo "*** Copying CVS tree"
pushd ${builddir} > /dev/null
@ -136,7 +145,7 @@ if [ -z "${skipcopy}" ]; then
cp -pf --link ${wxdir}/* ${tarver} > /dev/null 2>&1
# copy all top dirs except CVS, build, demos, utils, samples, and wxPython
for d in art contrib debian distrib docs include lib locale misc patches src; do
for d in art build contrib debian distrib docs include lib locale misc patches src; do
if [ -e ${wxdir}/$d ]; then
cp -Rpf --link ${wxdir}/$d ${tarver} #> /dev/null 2>&1
fi
@ -145,36 +154,36 @@ if [ -z "${skipcopy}" ]; then
# now do the same thing for wxPython, skipping it's build dirs and such
mkdir ${tarver}/wxPython
cp -pf --link ${wxdir}/wxPython/* ${tarver}/wxPython > /dev/null 2>&1
for d in contrib demo distrib distutils docs licence samples scripts src wx wxPython; do
for d in contrib demo distrib distutils docs include licence samples scripts src SWIG wx wxPython; do
cp -Rpf --link ${wxdir}/wxPython/$d ${tarver}/wxPython #> /dev/null 2>&1
done
# cp -Rpf --link ${wxdir}/* ${tarver} > /dev/null 2>&1
# rm -r ${tarver}/bld*
# rm -r ${tarver}/wxPython/build*
# rm -r ${tarver}/wxPython/_build_rpm
echo "*** Removing uneeded stuff from copy of CVS tree"
pushd ${tarver} > /dev/null
rm `find . -name .cvsignore`
rm -rf `find . -name CVS`
cleanup .cvsignore
cleanup CVS
cleanup CVSROOT
rm BuildCVS.txt
rm *.spec
rm -rf docs/html
rm -rf docs/latex
rm -rf contrib/docs
rm -rf contrib/samples
rm locale/*.mo
rm `find . -name ".#*"`
rm `find . -name "*~"`
rm `find . -name "*.pyc"`
rm `find . -name "core"`
rm `find . -name "core.[0-9]*"`
cleanup ".#*"
cleanup "*~"
cleanup "*.pyc"
cleanup core
cleanup "core.[0-9]*"
rm -f wxPython/wxPython/* > /dev/null 2>&1
rm -f wxPython/wx/* > /dev/null 2>&1
rm wxPython/demo/.setup.sh
rm -rf wxPython/contrib/art2d
rm -rf wxPython/contrib/canvas
rm -rf wxPython/contrib/canvas2
rm -rf wxPython/contrib/gizmos/contrib
rm -rf wxPython/contrib/ogl/contrib
rm -rf wxPython/contrib/stc/contrib
rm -rf wxPython/contrib/xrc/contrib
rm -r wxPython/docs/xml-raw
popd > /dev/null
popd > /dev/null

View File

@ -52,10 +52,10 @@ Prefix: %{pref}
Provides: wxPython = %{version}
Provides: wxPython%{port} = %{version}
Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so
Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2})
Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so
Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2})
# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so
# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2})
# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so
# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2})
# old wxPython packages
@ -90,20 +90,16 @@ that wxPython uses.
#----------------------------------------------------------------
%build
if [ "$SMP" != "" ]; then
MAKE="make -j$SMP"
else
MAKE="make"
fi
WXDIR=`pwd`
mkdir build
cd build
mkdir bld
cd bld
# Configure, trying to reduce external dependencies
$WXDIR/configure --with-%{lcport} \
../configure --with-%{lcport} \
--prefix=%{wxpref} \
--disable-soname \
--disable-monolithic \
--enable-rpath=%{wxpref}/lib \
--with-opengl \
%if %{unicode}
@ -123,55 +119,43 @@ $WXDIR/configure --with-%{lcport} \
%endif
# Build wxWindows
$MAKE
# Build wxWindows and some contrib libs
make
make -C contrib/src/gizmos
make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0"
make -C contrib/src/stc
make -C contrib/src/xrc
# Install wxWindows and the contribs so the wxPython build can find
# all the headers it needs
make prefix=$RPM_BUILD_ROOT%{wxpref} install
make -C contrib/src/gizmos prefix=$RPM_BUILD_ROOT%{wxpref} install
make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" prefix=$RPM_BUILD_ROOT%{wxpref} install
make -C contrib/src/stc prefix=$RPM_BUILD_ROOT%{wxpref} install
make -C contrib/src/xrc prefix=$RPM_BUILD_ROOT%{wxpref} install
# Now build wxPython
cd $WXDIR/wxPython
%{python} setup.py \
IN_CVS_TREE=1 \
NO_SCRIPTS=1 \
WXPORT=%{lcport} \
UNICODE=%{unicode} \
WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build" \
WX_CONFIG="$RPM_BUILD_ROOT%{wxpref}/bin/wx-config --prefix=$RPM_BUILD_ROOT%{wxpref}" \
build
## $WXDIR/bld/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/bld"
# Build wxrc (XRC resource tool) but don't use the makefiles since they expect
# a shared version of the xrc lib to have been built...
cd $WXDIR/contrib/utils/wxrc
WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build"
wCC=`$WX_CONFIG --cc`
wCXX=`$WX_CONFIG --cxx`
for f in wxrc.cpp ../../src/xrc/xml.cpp ../../src/xrc/xmlres.cpp; do
echo $f
$wCXX `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f
done
for f in ../../src/xrc/expat/xmlparse/xmlparse.c ../../src/xrc/expat/xmltok/xmlrole.c ../../src/xrc/expat/xmltok/xmltok.c; do
echo $f
$wCC `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f
done
$wCXX `$WX_CONFIG --libs` *.o -o wxrc
# Build wxrc (XRC resource tool)
cd $WXDIR/bld/contrib/utils/wxrc
make
strip wxrc
#----------------------------------------------------------------
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
# install wxWindows
WXDIR=`pwd`
cd build
make prefix=$RPM_BUILD_ROOT%{wxpref} install
# install wxPython
cd $WXDIR/wxPython
%{python} setup.py \
IN_CVS_TREE=1 \
NO_SCRIPTS=1 \
WXPORT=%{lcport} \
UNICODE=%{unicode} \
@ -179,14 +163,52 @@ cd $WXDIR/wxPython
install \
--root=$RPM_BUILD_ROOT
#----------------------------------------------------------------
%install
##[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
WXDIR=`pwd`
# # install wxWindows
# cd bld
# make prefix=$RPM_BUILD_ROOT%{wxpref} install
# make -C contrib/src/gizmos prefix=$RPM_BUILD_ROOT%{wxpref} install
# make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" prefix=$RPM_BUILD_ROOT%{wxpref} install
# make -C contrib/src/stc prefix=$RPM_BUILD_ROOT%{wxpref} install
# make -C contrib/src/xrc prefix=$RPM_BUILD_ROOT%{wxpref} install
# # install wxPython
# cd $WXDIR/wxPython
# %{python} setup.py \
# NO_SCRIPTS=1 \
# WXPORT=%{lcport} \
# UNICODE=%{unicode} \
# WX_CONFIG="$RPM_BUILD_ROOT%{wxpref}/bin/wx-config --prefix=$RPM_BUILD_ROOT%{wxpref}" \
# install \
# --root=$RPM_BUILD_ROOT
# Other "install" tasks...
cd $WXDIR/wxPython
# install the wxPython headers
cp -R include $RPM_BUILD_ROOT%{wxpref}
mkdir -p $RPM_BUILD_ROOT%{wxpref}/include/wx/wxPython/i_files
cp src/*.i $RPM_BUILD_ROOT%{wxpref}/include/wx/wxPython/i_files
# Since I want this RPM to be as generic as possible I won't let
# distutils copy the scripts since it will mangle the #! line to use
# the real python pathname. Since some distros install python 2.2 as
# python2 and others as python, then I can't let distutils do that
# otherwise the dependencies will be fouled up. Copy them manually
# instead, leaving the #!/bin/env line intact.
#
# TODO: Should this be dependent on %{builtin_libs} or something like it?
# distutils copy the scripts (NO_SCRIPTS=1 above) since it will mangle
# the #! line to use the real python pathname. Since some distros
# install python 2.2 as python2 and others as python I can't let
# distutils do that otherwise the dependencies will be fouled up.
# Copy them manually instead, leaving the #!/bin/env line intact.
# TODO: Should this be dependent on %{builtin_libs} or something like
# it?
mkdir -p $RPM_BUILD_ROOT%{pref}/bin
for s in \
@ -205,7 +227,7 @@ done
# Install wxrc
cp $WXDIR/contrib/utils/wxrc/wxrc $RPM_BUILD_ROOT%{pref}/bin
cp $WXDIR/bld/contrib/utils/wxrc/wxrc $RPM_BUILD_ROOT%{pref}/bin
# link specific name to generic name
@ -213,6 +235,7 @@ ln -s wxPython-%{version} $RPM_BUILD_ROOT%{wxprefbase}
# Copy icons and make menu entries
#-- This only works for Mandrake. Is there a cross-distro way to do it?
##mkdir -p $RPM_BUILD_ROOT%{_iconsdir}
@ -250,26 +273,26 @@ ln -s wxPython-%{version} $RPM_BUILD_ROOT%{wxprefbase}
# So instead we'll build some explicit filelists here and use %attr on
# each entry.
cd $WXDIR
mkdir -p $RPM_BUILD_ROOT%{pref}/share/doc
GFL="%{python} wxPython/distrib/genfilelist.py"
$GFL $RPM_BUILD_ROOT %{pref} > FILELIST
$GFL -r $RPM_BUILD_ROOT %{pref}/bin >> FILELIST
$GFL $RPM_BUILD_ROOT %{pref}/lib >> FILELIST
$GFL -r $RPM_BUILD_ROOT %{pref}/lib/python%{pyver} >> FILELIST
$GFL -r $RPM_BUILD_ROOT %{pref}/share >> FILELIST
$GFL $RPM_BUILD_ROOT %{wxpref} >> FILELIST
$GFL $RPM_BUILD_ROOT %{wxprefbase} >> FILELIST
$GFL $RPM_BUILD_ROOT %{wxpref}/lib >> FILELIST
$GFL $RPM_BUILD_ROOT "%{wxpref}/lib/libwx*" >> FILELIST
$GFL -r $RPM_BUILD_ROOT %{wxpref}/share >> FILELIST
###GFL -r $RPM_BUILD_ROOT %{_iconsdir} >> FILELIST
##$GFL -r $RPM_BUILD_ROOT %{_menudir} >> FILELIST
# mkdir -p $RPM_BUILD_ROOT%{pref}/share/doc
# GFL="%{python} wxPython/distrib/genfilelist.py"
# $GFL $RPM_BUILD_ROOT %{pref} > FILELIST
# $GFL -r $RPM_BUILD_ROOT %{pref}/bin >> FILELIST
# $GFL $RPM_BUILD_ROOT %{pref}/lib >> FILELIST
# $GFL -r $RPM_BUILD_ROOT %{pref}/lib/python%{pyver} >> FILELIST
# $GFL -r $RPM_BUILD_ROOT %{pref}/share >> FILELIST
# $GFL $RPM_BUILD_ROOT %{wxpref} >> FILELIST
# $GFL $RPM_BUILD_ROOT %{wxprefbase} >> FILELIST
# $GFL $RPM_BUILD_ROOT %{wxpref}/lib >> FILELIST
# $GFL $RPM_BUILD_ROOT "%{wxpref}/lib/libwx*" >> FILELIST
# $GFL -r $RPM_BUILD_ROOT %{wxpref}/share >> FILELIST
# ###GFL -r $RPM_BUILD_ROOT %{_iconsdir} >> FILELIST
# ##$GFL -r $RPM_BUILD_ROOT %{_menudir} >> FILELIST
$GFL $RPM_BUILD_ROOT %{wxpref}/include > DEVELLIST
$GFL -r $RPM_BUILD_ROOT %{wxpref}/include/wx >> DEVELLIST
$GFL -r $RPM_BUILD_ROOT %{wxpref}/lib/wx >> DEVELLIST
$GFL $RPM_BUILD_ROOT %{wxconfigname} >> DEVELLIST
$GFL $RPM_BUILD_ROOT %{wxpref}/bin/wx-config >> DEVELLIST
# $GFL $RPM_BUILD_ROOT %{wxpref}/include > DEVELLIST
# $GFL -r $RPM_BUILD_ROOT %{wxpref}/include/wx >> DEVELLIST
# $GFL -r $RPM_BUILD_ROOT %{wxpref}/lib/wx >> DEVELLIST
# $GFL $RPM_BUILD_ROOT %{wxconfigname} >> DEVELLIST
# $GFL $RPM_BUILD_ROOT %{wxpref}/bin/wx-config >> DEVELLIST
#----------------------------------------------------------------
@ -291,21 +314,29 @@ if [ -e %{wxprefbase} ]; then
fi
#----------------------------------------------------------------
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
#%clean
#[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
#----------------------------------------------------------------
%files -f FILELIST
%files
%defattr(-,root,root)
%doc docs/preamble.txt docs/licence.txt docs/readme.txt docs/changes.txt
%doc wxPython/README.txt wxPython/CHANGES.txt
%doc docs/preamble.txt docs/licence.txt docs/lgpl.txt docs/readme.txt docs/changes.txt
%doc wxPython/docs/*
%{_bindir}/*
%{_libdir}/python%{pyver}/site-packages/*
%{wxpref}/lib/libwx*
%{wxpref}/share
%{wxprefbase}
%files -n wxPython%{port}-devel -f DEVELLIST
%files -n wxPython%{port}-devel
%defattr(-,root,root)
%{wxpref}/include
%{wxpref}/lib/wx
%{wxconfigname}
%{wxpref}/bin/wx-config
#----------------------------------------------------------------
# end of file