diff options
-rw-r--r-- | debian/control | 2 | ||||
-rwxr-xr-x | debian/rules | 33 |
2 files changed, 30 insertions, 5 deletions
diff --git a/debian/control b/debian/control index 3430ef1..5b6a816 100644 --- a/debian/control +++ b/debian/control @@ -32,7 +32,7 @@ Build-Depends: autoconf, rename, ruby, ruby-dev, - swig3.0, + swig, zlib1g-dev Build-Conflicts: libsvn-dev (<< 1.13~) Rules-Requires-Root: no diff --git a/debian/rules b/debian/rules index b06c90f..3642d1a 100755 --- a/debian/rules +++ b/debian/rules @@ -38,6 +38,12 @@ endif # We may need to disable libapache2-mod-svn and/or libsvn-ruby*. ENABLE_APACHE = yes ENABLE_RUBY = yes +# Disable packaging python2 bindings if swig4 is installed +ifeq (,$(filter 4%,$(shell dpkg-query -W -f '$${Version}' swig 2>/dev/null))) + ENABLE_PYTHON = yes +else + ENABLE_PYTHON = no +endif DEB_BUILDDIR = $(CURDIR)/BUILD MAKE_B = $(MAKE) -C $(DEB_BUILDDIR) @@ -50,7 +56,7 @@ export HOME = $(DEB_BUILDDIR)/dummy_home # ENABLE_FOO -> DEB_OPT_WITH_FOO=1 # DEB_BUILD_OPTIONS='foo bar' -> DEB_OPT_FOO=1, DEB_OPT_BAR=1 # DEB_BUILD_OPTIONS='no-foo' -> DEB_OPT_WITH_FOO="" -$(foreach o, JAVAHL APACHE RUBY, $(if $(filter y yes 1,$(ENABLE_$o)), \ +$(foreach o, JAVAHL APACHE RUBY PYTHON, $(if $(filter y yes 1,$(ENABLE_$o)), \ $(eval DEB_OPT_WITH_$o := 1),$(eval DEB_OPT_WITH_$o :=))) d_b_o:=$(shell echo "$$DEB_BUILD_OPTIONS" | tr 'a-z-,' 'A-Z_ ') $(foreach o, $(d_b_o), \ @@ -100,7 +106,7 @@ confflags = \ --with-sasl=/usr \ --with-editor=/usr/bin/editor \ --with-ruby-sitedir=/usr/lib/ruby \ - --with-swig=/usr/bin/swig3.0 \ + --with-swig=/usr/bin/swig \ --with-lz4 \ --with-utf8proc \ CFLAGS="$(CFLAGS)" \ @@ -145,6 +151,12 @@ else RUBY = fooby endif +ifdef DEB_OPT_WITH_PYTHON + PYTHON = python +else + DH_OPTIONS += -Npython-subversion + PYTHON = foothon +endif # Set autoconf cross-compile mode correctly. # Also disable testsuite if cross-compiling. @@ -182,7 +194,8 @@ debian/stamp-configure: debian/stamp-autogen mkdir -p $(DEB_BUILDDIR) $(HOME) cd $(DEB_BUILDDIR) && \ - PYTHON=/usr/bin/python RUBY=/usr/bin/$(RUBY) \ + PYTHON=/usr/bin/$(PYTHON) \ + RUBY=/usr/bin/$(RUBY) \ $(CURDIR)/configure $(confflags) || (cat $(DEB_BUILDDIR)/config.log; false) # Subversion upstream ships with Swig 1.3.25 pregenerated @@ -191,6 +204,7 @@ debian/stamp-configure: debian/stamp-autogen # Thus we unconditionally delete the pregenerated files. +$(MAKE_B) mkdir-init +$(MAKE_B) extraclean-bindings +ifdef DEB_OPT_WITH_PYTHON for v in $(PYVERSIONS); do \ cp -la $(PY_DIR) $(PY_DIR)$$v; \ done @@ -198,13 +212,14 @@ debian/stamp-configure: debian/stamp-autogen # $(PY_DIR) always needs to exist to avoid the upstream Makefiles from # trying to re-create it ln -sfT python$(PYDEFAULT) $(PY_DIR) +endif touch $@ build: debian/stamp-build-arch debian/stamp-build-indep check_defs = CLEANUP=1 LC_ALL=C -check_swig = check-swig-py check-swig-pl $(if $(DEB_OPT_WITH_RUBY),check-swig-rb) +check_swig = $(if $(DEB_OPT_WITH_PYTHON),check-swig-py) check-swig-pl $(if $(DEB_OPT_WITH_RUBY),check-swig-rb) check_all = $(check_swig) $(if $(DEB_OPT_WITH_JAVAHL),check-javahl) check check-help: @echo "$(MAKE) $(check_all)" @@ -226,14 +241,18 @@ debian/stamp-build-arch: debian/stamp-configure $(DONT_BE_ROOT) # note: autogen-swig does not support -jN +ifdef DEB_OPT_WITH_PYTHON $(call allpy, $(MAKE_B) -j1 autogen-swig) +endif +$(MAKE_B) all tools # Run svn once, to make sure it populates $(HOME)/.subversion/* env LD_LIBRARY_PATH="$(AUTH_LIB_DIRS):$(LD_LIBRARY_PATH)" $(DEB_BUILDDIR)/subversion/svn/svn --version > /dev/null +ifdef DEB_OPT_WITH_PYTHON $(call allpy, \ $(MAKE_B) swig-py PYTHON=python$$v PYVER=$$v \ PYTHON_INCLUDES="$$pyinc" \ swig_pydir=$$pylib/libsvn swig_pydir_extra=$$pylib/svn) +endif # note: swig-pl seems to have trouble with -jN +$(MAKE_B) -j1 swig-pl MAN3EXT=3perl $(MAKE) -C $(PERL_DIR) all \ @@ -329,12 +348,14 @@ debian/stamp-install-arch: debian/stamp-build-arch DESTDIR=$(CURDIR)/debian/tmp toolsdir=/usr/bin pkgconfig_dir=$(libdir)/pkgconfig sed -i 's:/usr/lib/\([^/]*/\)?lib\([^ ]*\).la:-l\1:g' debian/tmp/usr/lib/*/*.la +ifdef DEB_OPT_WITH_PYTHON $(call allpy, \ $(MAKE_B) install-swig-py DESTDIR=$(CURDIR)/debian/tmp \ PYTHON=python$$v PYVER=$$v \ swig_pydir=$$pylib/libsvn swig_pydir_extra=$$pylib/svn) $(RM) debian/tmp/usr/lib/python*/*-packages/libsvn/*.la $(RM) debian/tmp/usr/lib/python*/*-packages/libsvn/*.a +endif ifdef DEB_OPT_WITH_JAVAHL $(MAKE_B) install-javahl install-javahl-java \ @@ -421,8 +442,10 @@ ifdef DEB_OPT_WITH_APACHE debian/libapache2-mod-svn/usr/share/doc/libapache2-mod-svn/INSTALL.authz endif +ifdef DEB_OPT_WITH_PYTHON cp tools/examples/svnshell.py debian/python-subversion/usr/bin/svnshell $(call fix_shebangs_in, debian/python-subversion/usr/bin/svnshell) +endif dh_installdocs -a NOTICE dh_installexamples -a @@ -430,7 +453,9 @@ endif dh_installman -a dh_installchangelogs -a CHANGES dh_perl -a +ifdef DEB_OPT_WITH_PYTHON dh_python2 -a +endif dh_link -a dh_lintian -a dh_fixperms -a |