+++ /dev/null
-#!/bin/bash
-#----------------------------------------------------------------------
-# Build an RPM containing both wxGTK and wxPython
-
-##set -o xtrace
-##set -o errexit
-
-spectemplate=distrib/wxPythonFull.spec.in
-
-if [ ! -d wxPython -o ! -e ${spectemplate} ]; then
- echo "Please run this script from the root wxPython directory."
- exit 1
-fi
-
-
-#----------------------------------------------------------------------
-# Initialization
-
-version=`python -c "import setup;print setup.VERSION"`
-wxpdir=`pwd`
-wxdir=${wxpdir}/..
-distdir=${wxpdir}/dist
-builddir=${wxpdir}/_build_rpm
-rpmtop=${builddir}/rpmtop
-cvsroot=:pserver:anoncvs@cvs.wxwindows.org:/pack/cvsroots/wxwindows
-pythonbin=/usr/bin/python
-port=GTK
-lcport=gtk
-unicode=0
-tarname=wxPython-src
-srpmonly=0
-skipclean=0
-
-#----------------------------------------------------------------------
-# Check parameters
-
-function usage {
- echo "Usage: $0 py_version [command flags...]"
- echo " py_version which python version to use."
- echo ""
- echo "command flags:"
- echo " skipcopy Don't copy the files for the tarball from the workspace"
- echo " skiptar Don't build the tarball"
- echo " skiprpm Don't build the RPM"
- echo " skipclean Don't do the cleanup at the end"
- echo " speconly Do nothing but write the RPM spec file"
- echo " srpm Only make the SRPM"
-}
-
-if [ $# -lt 1 ]; then
- usage
- exit 1
-fi
-
-pyver=$1
-shift
-
-ver2=`echo ${version} | cut -c 1,2,3`
-tarver=${tarname}-${version}
-
-python=${pythonbin}${pyver}
-if [ ! -e ${python} ]; then
- echo "${python} not found!"
- exit 1
-fi
-
-
-function makespec {
- echo "*** Writing ${distdir}/wxPython.spec"
- cat ${spectemplate} \
- | sed s:@PYTHON@:${python}:g \
- | sed s:@PYVER@:${pyver}:g \
- | sed s:@TARNAME@:${tarname}:g \
- | sed s:@VERSION@:${version}:g \
- | sed s:@VER2@:${ver2}:g \
- > ${distdir}/wxPython.spec
-}
-
-
-
-for flag in $*; do
- case ${flag} in
- skipcopy) skipcopy=1 ;;
- skipclean) skipclean=1 ;;
- skiptar) skiptar=1; skipcopy=1 ;;
- skiprpm) skiprpm=1 ;;
- speconly) makespec; exit 0 ;;
- srpm) srpmonly=1; ;;
-
- *) echo "Unknown flag \"${flag}\""
- usage
- exit 1
- esac
-done
-
-
-#----------------------------------------------------------------------
-# Setup build dirs
-
-echo "*** Setting up"
-
-if [ ! -d ${builddir} ]; then
- mkdir -p ${builddir}
-fi
-
-if [ ! -d ${distdir} ]; then
- mkdir -p ${distdir}
-fi
-
-for dir in SOURCES SPECS BUILD RPMS SRPMS; do
- if [ ! -d ${rpmtop}/${dir} ]; then
- mkdir -p ${rpmtop}/${dir}
- fi
-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
- if [ -e ${tarver} ]; then
- rm -rf ${tarver}
- fi
- mkdir -p ${tarver}
-
- # copy root dir contents
- cp -pf --link ${wxdir}/* ${tarver} > /dev/null 2>&1
-
- # copy all top dirs except CVS, demos, samples, and wxPython
- for d in art build contrib debian docs include lib locale patches samples src utils; do
- if [ -e ${wxdir}/$d ]; then
- cp -Rpf --link ${wxdir}/$d ${tarver} #> /dev/null 2>&1
- fi
- done
- mkdir ${tarver}/distrib
- cp -Rpf --link ${wxdir}/distrib/scripts ${tarver}/distrib
-
-
- # now do the same thing for wxPython, but use the DIRLIST to select dirs to copy
- for dir in `grep -v '#' ${wxdir}/wxPython/distrib/DIRLIST`; do
- mkdir ${tarver}/${dir}
- ##echo "cp -pf --link ${wxdir}/${dir}/* ${tarver}/${dir}"
- cp -pf --link ${wxdir}/${dir}/* ${tarver}/${dir} > /dev/null 2>&1
- done
-
- # using DIRLIST as above will normally skip any files starting
- # with a dot, but there are a few .files that we do want to
- # copy...
- for dir in wxPython/distrib/msw; do
- cp -pf --link ${wxdir}/${dir}/.[a-zA-Z]* ${tarver}/${dir} > /dev/null 2>&1
- done
-
- echo "*** Removing uneeded stuff from copy of CVS tree"
- pushd ${tarver} > /dev/null
- cleanup .cvsignore
- cleanup CVS
- cleanup CVSROOT
- rm BuildCVS.txt
- rm -f ChangeLog
- rm *.spec
- rm -rf distrib/msw/tmake
- #rm -rf docs/html
- #rm -rf docs/latex
- #rm -rf contrib/docs
- #rm -rf contrib/samples
- rm locale/*.mo
- cleanup ".#*"
- cleanup "#*#"
- cleanup "*~"
- cleanup "*.orig"
- cleanup "*.rej"
- cleanup "*.pyc"
- cleanup core
- cleanup "core.[0-9]*"
- rm -f wxPython/samples/embedded/embedded
- rm -f wxPython/samples/embedded/embedded.o
-
- # ports that are not supported yet
- #cleanup cocoa # wxMac needs some cocoa headers
- cleanup mgl
- cleanup motif
- cleanup os2
- cleanup x11
- cleanup univ
- cleanup wine
-
- rm -f wxPython/wx/* > /dev/null 2>&1
-
- popd > /dev/null
- popd > /dev/null
-fi
-
-
-#----------------------------------------------------------------------
-# Make the spec file and copy to ${builddir}/${tarver} so it will be
-# in the tar file when it's built
-
-# TODO? Output all combinations of spec files to put in the tar file??
-
-makespec
-cp ${distdir}/wxPython.spec ${builddir}/${tarver}/wxPython.spec
-
-
-#----------------------------------------------------------------------
-# Build the tar file
-
-if [ -z "${skiptar}" ]; then
- echo "*** Creating language catalogs..."
- pushd ${builddir}/${tarver}/locale > /dev/null
- make allmo
- popd > /dev/null
-
- echo "*** Creating tarball..."
- cp distrib/README.1st.txt ${builddir}/${tarver}
- pushd ${builddir} > /dev/null
- tar cvf ${distdir}/${tarver}.tar ${tarver} > /dev/null
-
- echo "*** Compressing..."
- if [ -e ${distdir}/${tarver}.tar.bz2 ]; then
- rm ${distdir}/${tarver}.tar.bz2
- fi
- bzip2 --best ${distdir}/${tarver}.tar
- popd > /dev/null
-fi
-
-
-#----------------------------------------------------------------------
-# build the RPM
-
-if [ "${skiprpm}" != "1" ]; then
- echo "*** Building RPMs..."
- cp ${distdir}/${tarver}.tar.bz2 ${rpmtop}/SOURCES
-
- if [ "${srpmonly}" = "1" ]; then
- rpmbuild -bs \
- --define "_topdir ${rpmtop}" \
- --define "_tmppath ${builddir}" \
- --define "release 1" \
- ${distdir}/wxPython.spec
- if [ "$?" != "0" ]; then
- echo "*** RPM failure, exiting."
- exit 1
- fi
-
- else
- rpmbuild -ba \
- --define "_topdir ${rpmtop}" \
- --define "_tmppath ${builddir}" \
- --define "port gtk" --define "unicode 0" \
- --define "pyver ${pyver}" \
- ${distdir}/wxPython.spec
- if [ "$?" != "0" ]; then
- echo "*** RPM failure, exiting."
- exit 1
- fi
-
- rpmbuild -ba \
- --define "_topdir ${rpmtop}" \
- --define "_tmppath ${builddir}" \
- --define "port gtk2" --define "unicode 1" \
- --define "pyver ${pyver}" \
- ${distdir}/wxPython.spec
- if [ "$?" != "0" ]; then
- echo "*** RPM failure, exiting."
- exit 1
- fi
- fi
-
- echo "*** Moving RPMs to ${distdir}"
- mv -f `find ${rpmtop} -name "wxPython*.rpm"` ${distdir}
-fi
-
-#----------------------------------------------------------------------
-# Cleanup
-
-if [ "${skipclean}" = "0" ]; then
- echo "*** Cleaning up"
- rm -rf ${rpmtop}
- rm -rf ${builddir}
-fi
-
-
-