X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1fded56b375bf7a4687af1cdb182899614c1b2a8..46ae103b9f08fc4e447d16a6a92b03cf55ee3189:/wxPython/distrib/makerpm diff --git a/wxPython/distrib/makerpm b/wxPython/distrib/makerpm index 6d6088d515..5a989b6db1 100755 --- a/wxPython/distrib/makerpm +++ b/wxPython/distrib/makerpm @@ -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 @@ -23,38 +26,32 @@ pythonbin=/usr/bin/python port=GTK lcport=gtk unicode=0 -tarname=wxPythonSrc -rpmflag=-ba +tarname=wxPython-src +srpmonly=0 #---------------------------------------------------------------------- # Check parameters -function useage { - echo "Usage: $0 wx_version py_version [command flags...]" - echo " wx_version String to use for version in filenames, etc." - echo " py_version String to append to $pythonbin (which python" - echo " version to use.)" +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 (but why?)" + echo " skiprpm Don't build the RPM" echo " skipclean Don't do the cleanup at the end" - echo " gtk2 Build using wxGTK2 and Unicode" - echo " x11 Build using wxX11" echo " speconly Do nothing but write the RPM spec file" echo " srpm Only make the SRPM" -# echo " smp Add SMP=2 to the envivonment to speed wxGTK build" } -if [ $# -lt 2 ]; then - useage +if [ $# -lt 1 ]; then + usage exit 1 fi -version=$1 -pyver=$2 -shift;shift +pyver=$1 +shift ver2=`echo ${version} | cut -c 1,2,3` tarver=${tarname}-${version} @@ -67,17 +64,14 @@ fi function makespec { - echo "*** Writing ${distdir}/wxPython${port}.spec" + echo "*** Writing ${distdir}/wxPython.spec" cat ${spectemplate} \ | sed s:@PYTHON@:${python}:g \ | sed s:@PYVER@:${pyver}:g \ - | sed s:@PORT@:${port}:g \ - | sed s:@LCPORT@:${lcport}:g \ | sed s:@TARNAME@:${tarname}:g \ | sed s:@VERSION@:${version}:g \ | sed s:@VER2@:${ver2}:g \ - | sed s:@UNICODE@:${unicode}:g \ - > ${distdir}/wxPython${port}.spec + > ${distdir}/wxPython.spec } @@ -86,16 +80,13 @@ for flag in $*; do case ${flag} in skipcopy) skipcopy=1 ;; skipclean) skipclean=1 ;; - skiptar) skiptar=1 ;; + skiptar) skiptar=1; skipcopy=1 ;; skiprpm) skiprpm=1 ;; - gtk2) unicode=1; port=GTK2; lcport=gtk2 ;; - x11) port=X11; lcport=x11 ;; - smp) export SMP=2 ;; speconly) makespec; exit 0 ;; - srpm) rpmflag=-bs; ;; + srpm) srpmonly=1; ;; *) echo "Unknown flag \"${flag}\"" - useage + usage exit 1 esac done @@ -124,6 +115,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 @@ -135,46 +134,65 @@ if [ -z "${skipcopy}" ]; then # copy root dir contents 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 + # copy all top dirs except CVS, build, demos, samples, utils, and wxPython + 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 done +# # and tex2rtf too +# mkdir ${tarver}/utils +# cp -Rpf --link ${wxdir}/utils/tex2rtf ${tarver}/utils +# # tex2rtf needs these files +# mkdir ${tarver}/samples +# cp -Rpf --link ${wxdir}/samples/sample.* ${tarver}/samples + # 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 - cp -Rpf --link ${wxdir}/wxPython/$d ${tarver}/wxPython #> /dev/null 2>&1 + 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 - rm `find . -name .cvsignore` - rm -rf `find . -name CVS` + 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 - rm `find . -name ".#*"` - rm `find . -name "*~"` - rm `find . -name "*.pyc"` - rm `find . -name "core"` - rm `find . -name "core.[0-9]*"` - - rm -f wxPython/wxPython/* > /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 + cleanup ".#*" + cleanup "#*#" + cleanup "*~" + cleanup "*.orig" + cleanup "*.rej" + cleanup "*.pyc" + cleanup core + cleanup "core.[0-9]*" + + # ports that are not supported yet + cleanup cocoa + cleanup mgl + cleanup motif + cleanup os2 + cleanup x11 + + rm -f wxPython/wx/* > /dev/null 2>&1 popd > /dev/null popd > /dev/null @@ -188,7 +206,7 @@ fi # TODO? Output all combinations of spec files to put in the tar file?? makespec -cp ${distdir}/wxPython${port}.spec ${builddir}/${tarver}/wxPython${port}.spec +cp ${distdir}/wxPython.spec ${builddir}/${tarver}/wxPython.spec #---------------------------------------------------------------------- @@ -220,17 +238,44 @@ fi if [ -z "${skiprpm}" ]; then echo "*** Building RPMs..." cp ${distdir}/${tarver}.tar.gz ${rpmtop}/SOURCES - rpmbuild ${rpmflag} \ - --define "_topdir ${rpmtop}" \ - --define "_tmppath ${builddir}" \ - ${distdir}/wxPython${port}.spec - if [ "$?" != "0" ]; then - echo "*** RPM failure, exiting." - exit 1 - else - echo "*** Moving RPMs to ${distdir}" - mv -f `find ${rpmtop} -name "wxPython*.rpm"` ${distdir} + + 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 #----------------------------------------------------------------------