diff -u subversion-1.4.6dfsg1/debian/rules subversion-1.4.6dfsg1/debian/rules --- subversion-1.4.6dfsg1/debian/rules +++ subversion-1.4.6dfsg1/debian/rules @@ -54,6 +54,11 @@ -e 's:^\#! */usr/bin/env ruby.*:\#!/usr/bin/$(RUBY):' PERL_BINDINGDIR := subversion/bindings/swig/perl/native +PY_BINDINGDIR := subversion/bindings/swig/python + +PYVERSIONS := $(shell pyversions -vr) +PYVDEFAULT := $(shell pyversions -vd) +PYOTHERVERS:= $(filter-out $(PYVDEFAULT),$(PYVERSIONS)) confflags := \ --mandir=\$${prefix}/share/man \ @@ -109,7 +114,7 @@ PYTHON := python$(shell python -V 2>&1 | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/') - +PYVER := $(subst .,,$(subst python,,$(PYTHON))) TESTS_LD_LIBRARY_PATH := $(CURDIR)/$(DEB_BUILDDIR)/subversion/tests/.libs @@ -171,10 +176,12 @@ +$(MAKE_B) -j1 autogen-swig +$(MAKE_B) all SVN_DB_LIBS=-ldb +$(MAKE_B) swig-py swig-pl $(if $(DEB_OPT_WITH_RUBY),swig-rb) \ + PYVER=$(PYVER) \ swig_pydir=/usr/lib/$(PYTHON)/site-packages/libsvn \ swig_pydir_extra=/usr/lib/$(PYTHON)/site-packages/svn $(MAKE) -C $(DEB_BUILDDIR)/$(PERL_BINDINGDIR) all \ + PYVER=$(PYVER) \ OPTIMIZE="-g -Wall $(EXTRA_CFLAGS)" ifdef DEB_OPT_WITH_JAVAHL @@ -190,7 +197,7 @@ @echo "Running testsuite - may take a while. To disable," @echo "use DEB_BUILD_OPTIONS=nocheck or edit debian/rules." @echo - $(MAKE) -f debian/rules $(check_swig) + -$(MAKE) -f debian/rules PYVER=$(PYVER) $(check_swig) ifdef DEB_OPT_WITH_JAVAHL # This fails on current free JVMs, according to Blair Zajac. @@ -209,6 +216,24 @@ endif touch $@ +debian/stamp-install-python%: + # Clean build and installation area for python$* + find $(DEB_BUILDDIR)/$(PY_BINDINGDIR) debian/tmp/usr/lib/python* \ + ! -type d | xargs -r rm -f + # Build and install python$* + $(MAKE) -C $(DEB_BUILDDIR) $(MAKE_-J) install-swig-py \ + DESTDIR=$(PWD)/debian/tmp \ + PYTHON=/usr/bin/python$* \ + PYTHON_INCLUDES=-I/usr/include/python$* \ + PYVER=$(subst .,,$*) \ + swig_pydir=/usr/lib/python$*/site-packages/libsvn \ + swig_pydir_extra=/usr/lib/python$*/site-packages/svn + # Remove unneeded stuff + find debian/tmp/usr/lib/python$* -name '*.a' -o -name '*.la' \ + | xargs rm -f + tar cf debian/python$*-install.tar debian/tmp/usr/lib/python$* + touch $@ + build-indep: debian/stamp-build-indep debian/stamp-build-indep: debian/stamp-configure +$(MAKE_B) doc-api @@ -224,6 +249,7 @@ # these are (re)generated by autogen.sh $(RM) configure build/libtool.m4 build/ltmain.sh $(RM) debian/stamp-* + $(RM) debian/python*.tar debian/stamp-install-common: dh_testdir @@ -283,12 +309,30 @@ DESTDIR=$(CURDIR)/debian/tmp sed -i 's:/usr/lib/lib\([^ ]*\).la:-l\1:g' debian/tmp/usr/lib/*.la - $(MAKE_B) install-swig-py \ - DESTDIR=$(CURDIR)/debian/tmp \ - swig_pydir=/usr/lib/$(PYTHON)/site-packages/libsvn \ - swig_pydir_extra=/usr/lib/$(PYTHON)/site-packages/svn - $(RM) debian/tmp/usr/lib/$(PYTHON)/site-packages/libsvn/*.la - $(RM) debian/tmp/usr/lib/$(PYTHON)/site-packages/libsvn/*.a + # Install the python build for the default version + rm -f debian/stamp-install-$(PYTHON) + $(MAKE) -f debian/rules debian/stamp-install-$(PYTHON) + + # Save the $(PYTHON) install, additional swig files + tar cf debian/$(PYTHON)-swig-install.tar \ + debian/tmp/usr/lib/libsvn_swig_py*.so.* + # Save the $(PYTHON) build + tar cf debian/$(PYTHON)-bindings-build.tar \ + $(DEB_BUILDDIR)/subversion/bindings/swig/python + # Build for the non-default python versions + set -e; \ + [ -z "$(PYOTHERVERS)" ] || \ + for v in $(PYOTHERVERS); do \ + rm -f debian/stamp-install-python$$v; \ + $(MAKE) -f debian/rules debian/stamp-install-python$$v; \ + done + + # Restore the original build + tar xf debian/$(PYTHON)-bindings-build.tar + + # Restore the installs from other python builds + for i in debian/python*-install.tar; do echo $$i; tar xf $$i; done + find debian/tmp/usr/lib/python* -name '*.py[co]' | xargs -r rm -f ifdef DEB_OPT_WITH_JAVAHL $(MAKE_B) install-javahl \ diff -u subversion-1.4.6dfsg1/debian/patches/00list subversion-1.4.6dfsg1/debian/patches/00list --- subversion-1.4.6dfsg1/debian/patches/00list +++ subversion-1.4.6dfsg1/debian/patches/00list @@ -19,6 +19,8 @@ fix-bdb-version-detection limit-zlib-link svn2cl +fix-bashisms +python-builds examples-compile-instructions jelmer-python-bindings svn-clean-manpage diff -u subversion-1.4.6dfsg1/debian/control subversion-1.4.6dfsg1/debian/control --- subversion-1.4.6dfsg1/debian/control +++ subversion-1.4.6dfsg1/debian/control @@ -7,7 +7,7 @@ libapr1-dev, libaprutil1-dev (>= 1.2.7+dfsg-2), libdb-dev (>= 4.6), apache2-threaded-dev (>= 2.2), patch, dpatch, doxygen, autotools-dev, autoconf, libtool, swig, - python, python-dev, python-support (>= 0.4), + python-all-dev, python-support (>= 0.4), perl, libperl-dev, ruby1.8, ruby1.8-dev, java-gcj-compat-dev [!m68k !mips !mipsel !arm !hurd-i386], junit [!m68k !mips !mipsel !arm !hurd-i386] diff -u subversion-1.4.6dfsg1/debian/changelog subversion-1.4.6dfsg1/debian/changelog --- subversion-1.4.6dfsg1/debian/changelog +++ subversion-1.4.6dfsg1/debian/changelog @@ -1,3 +1,11 @@ +subversion (1.4.6dfsg1-2.1) unstable; urgency=low + + * Merged from Ubuntu: + - Fix bashisms in tools/po/po-update.sh. + - Build for all supported python versions. Closes: #446636. + + -- Matthias Klose Sat, 22 Mar 2008 14:22:06 +0100 + subversion (1.4.6dfsg1-2) unstable; urgency=low * subversion.NEWS: Add a note about the db4.6 upgrade. (Closes: #465432) only in patch2: unchanged: --- subversion-1.4.6dfsg1.orig/debian/patches/python-builds +++ subversion-1.4.6dfsg1/debian/patches/python-builds @@ -0,0 +1,110 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## +## python-builds by + +@DPATCH@ +--- ./Makefile.in.orig 2007-02-18 01:48:46.000000000 +0100 ++++ ./Makefile.in 2007-02-18 01:49:34.000000000 +0100 +@@ -108,8 +108,9 @@ + APACHE_LDFLAGS = @APACHE_LDFLAGS@ + + SWIG = @SWIG@ ++PYTHON_INCLUDES = @PYTHON_INCLUDES@ + SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py +-SWIG_PY_COMPILE = @SWIG_PY_COMPILE@ ++SWIG_PY_COMPILE = @SWIG_PY_COMPILE@ $(EXTRA_SWIG_PY_CFLAGS) + SWIG_PY_LINK = @SWIG_PY_LINK@ + SWIG_PY_LIBS = @SWIG_PY_LIBS@ + SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@ +--- ./build/ac-macros/swig.m4.orig 2007-02-18 01:48:46.000000000 +0100 ++++ ./build/ac-macros/swig.m4 2007-02-18 01:48:53.000000000 +0100 +@@ -93,7 +93,8 @@ + AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[ + ac_cv_python_includes="`$PYTHON ${abs_srcdir}/build/get-py-info.py --includes`" + ]) +- SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes" ++ PYTHON_INCLUDES="$ac_cv_python_includes" ++ SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) \$(PYTHON_INCLUDES)" + + if test "$ac_cv_python_includes" = "none"; then + AC_MSG_WARN([python bindings cannot be built without distutils module]) +@@ -222,6 +223,7 @@ + AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE]) + fi + AC_SUBST(SWIG) ++ AC_SUBST(PYTHON_INCLUDES) + AC_SUBST(SWIG_PY_INCLUDES) + AC_SUBST(SWIG_PY_COMPILE) + AC_SUBST(SWIG_PY_LINK) +--- ./build.conf~ 2007-09-27 09:27:25.701180877 +0200 ++++ ./build.conf 2007-09-27 10:00:25.451044953 +0200 +@@ -348,7 +348,7 @@ + type = swig + path = subversion/bindings/swig + sources = svn_client.i +-libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby ++libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby + libsvn_client libsvn_subr apr + nonlibs = swig_core + description = Subversion client library bindings +@@ -357,7 +357,7 @@ + type = swig + path = subversion/bindings/swig + sources = svn_delta.i +-libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby ++libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby + libsvn_delta libsvn_subr + nonlibs = swig_core + description = Subversion delta library bindings +@@ -366,7 +366,7 @@ + type = swig + path = subversion/bindings/swig + sources = svn_fs.i +-libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby ++libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby + libsvn_fs libsvn_subr + nonlibs = swig_core + description = Subversion FS library bindings +@@ -375,7 +375,7 @@ + type = swig + path = subversion/bindings/swig + sources = svn_ra.i +-libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby ++libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby + libsvn_ra libsvn_subr + nonlibs = swig_core + description = Subversion RA library bindings +@@ -384,7 +384,7 @@ + type = swig + path = subversion/bindings/swig + sources = svn_repos.i +-libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby ++libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby + libsvn_repos libsvn_subr + nonlibs = swig_core + description = Subversion repository library bindings +@@ -393,7 +393,7 @@ + type = swig + path = subversion/bindings/swig + sources = svn_wc.i +-libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby ++libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby + libsvn_wc libsvn_subr + nonlibs = swig_core + description = Subversion WC library bindings +@@ -402,13 +402,13 @@ + type = swig + path = subversion/bindings/swig + sources = core.i +-libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby ++libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby + libsvn_delta libsvn_diff libsvn_subr apr + description = Subversion core library bindings + include-runtime = yes + + # SWIG utility library for Python modules +-[libsvn_swig_py] ++[libsvn_swig_py$(PYVER)] + type = swig_lib + lang = python + path = subversion/bindings/swig/python/libsvn_swig_py only in patch2: unchanged: --- subversion-1.4.6dfsg1.orig/debian/patches/fix-bashisms +++ subversion-1.4.6dfsg1/debian/patches/fix-bashisms @@ -0,0 +1,25 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## +## DP: Fix bashisms + +@DPATCH@ +--- ./tools/po/po-update.sh~ 2006-08-23 17:23:28.000000000 +0200 ++++ ./tools/po/po-update.sh 2006-12-13 20:28:23.000000000 +0100 +@@ -26,7 +26,7 @@ + fi + + pot_done= +-function make_pot() ++make_pot() + { + if [ -z "$pot_done" ]; then + echo "Building subversion.pot..." +@@ -60,7 +60,7 @@ + fi + } + +-function update_po() ++update_po() + { + (cd $svn_base/subversion/po && + for i in $1.po; do