Bug#347775: subversion: Debian build patches to ease back-porting

Blair Zajac blair at orcaware.com
Thu Jan 12 15:56:54 UTC 2006


Package: subversion
Version: 1.2.0-1ubuntu1
Severity: normal
Tags: patch

I'm a Subversion committer and working on taking the Debian Etch
Subversion packages and back-porting them for Ubuntu Breezy Badger.
This is a small patch to Debian's build system to make it easier and
to document issues I ran into.

It does the following:

  * Depend upon kaffe >= 1.1.6 as the Java bindings do not compile
    with kaffe 1.1.5.
  * Add junit to BuildDepends and pass --with-junit to configure so
    that 'make check-javahl' can be run.  However, do run run the
    check during the build since it core dumps with the gij,
    java-gcj-compat and kaffe-pthreads JVMs.  Sun's 1.5.0_06 JVM does
    not crash and passes the tests succesfully.
  * Have libsvn0 depend upon libapr0 (>= 2.0.55-3) so that the
    packages meet Subversion's requirement for APR 0.9.7.
  * Pass CLEANUP=true to 'make check' so directories will be removed
    after successfully passing a test, saving a large amount of disk
    space.

I don't have the error handy, but g++ refuses to compile the Java
bindings in one file because it can't cast a string to a Java string.
Using kaffe 1.1.6 fixed this problem.

Regards,
Blair

-- System Information:
Debian Release: testing/unstable
  APT prefers breezy-updates
  APT policy: (500, 'breezy-updates'), (500, 'breezy-security'), (500, 'breezy-backports'), (500, 'breezy')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-10-686-smp
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages subversion depends on:
ii  db4.2-util             4.2.52-19ubuntu4  Berkeley v4.2 Database Utilities
ii  libapr0                2.0.55-3zajac1    the Apache Portable Runtime
ii  libc6                  2.3.5-1ubuntu12   GNU C Library: Shared libraries an
ii  libdb4.2               4.2.52-19ubuntu4  Berkeley v4.2 Database Libraries [
ii  libexpat1              1.95.8-3          XML parsing C library - runtime li
ii  libldap2               2.1.30-12         OpenLDAP libraries
ii  libneon24              0.24.7.dfsg-2     An HTTP and WebDAV client library
ii  libssl0.9.7            0.9.7g-1ubuntu1.1 SSL shared libraries
ii  libsvn0                1.2.0-1ubuntu1    shared libraries used by Subversio
ii  libxml2                2.6.21-0ubuntu1   GNOME XML library
ii  patch                  2.5.9-2           Apply a diff file to an original
ii  zlib1g                 1:1.2.3-3ubuntu4  compression library - runtime

subversion recommends no packages.

-- no debconf information
-------------- next part --------------
diff -ru ../orig/subversion-1.3.0/debian/changelog ./debian/changelog
--- ../orig/subversion-1.3.0/debian/changelog	2006-01-11 22:53:40.000000000 -0800
+++ ./debian/changelog	2006-01-12 07:47:18.000000000 -0800
@@ -1,3 +1,26 @@
+subversion (1.3.0-1zajac1) breezy; urgency=low
+
+  * Depend upon kaffe >= 1.1.6 as the Java bindings do not compile
+    with kaffe 1.1.5.
+  * Add junit to BuildDepends and pass --with-junit to configure so
+    that 'make check-javahl' can be run.  However, do run run the
+    check during the build since it core dumps with the gij,
+    java-gcj-compat and kaffe-pthreads JVMs.  Sun's 1.5.0_06 JVM does
+    not crash and passes the tests succesfully.
+  * Have libsvn0 depend upon libapr0 (>= 2.0.55-3) so that the
+    packages meet Subversion's requirement for APR 0.9.7.
+  * Pass CLEANUP=true to 'make check' so directories will be removed
+    after successfully passing a test, saving a large amount of disk
+    space.
+  * Rebuild on Ubuntu Breezy Badger.
+
+ -- Blair Zajac <blair at orcaware.com>  Thu, 12 Jan 2006 07:47:03 -0800
+
 subversion (1.3.0-1) experimental; urgency=low
 
   [ Peter, Guilherme ]
diff -ru ../orig/subversion-1.3.0/debian/control ./debian/control
--- ../orig/subversion-1.3.0/debian/control	2006-01-11 22:53:40.000000000 -0800
+++ ./debian/control	2006-01-11 23:14:40.000000000 -0800
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Guilherme de S. Pastore <guilherme.pastore at terra.com.br>
 Uploaders: Al Stone <ahs3 at debian.org>, David Kimdon <dwhedon at debian.org>, Troy Heber <troy.heber at hp.com>, Peter Samuelson <peter at p12n.org>
-Build-Depends: debhelper, libneon25-dev, apache2-threaded-dev, libapr0-dev (>= 2.0.55-3), libdb4.3-dev, libtool, bison, patch, python, python2.3-dev, autotools-dev, autoconf, swig, perl, cdbs, libperl-dev, ruby1.8, ruby1.8-dev, kaffe-dev [!arm !armeb !mips !mipsel !kfreebsd-i386], kaffe-pthreads [!arm !armeb !mips !mipsel !kfreebsd-i386]
+Build-Depends: debhelper, libneon25-dev, apache2-threaded-dev, libapr0-dev (>= 2.0.55-3), libdb4.3-dev, libtool, bison, patch, python, python2.3-dev, autotools-dev, autoconf, swig, perl, cdbs, libperl-dev, ruby1.8, ruby1.8-dev, kaffe-dev (>= 1.1.6) [!arm !armeb !mips !mipsel !kfreebsd-i386], kaffe-pthreads (>= 1.1.6) [!arm !armeb !mips !mipsel !kfreebsd-i386], junit [!arm !armeb !mips !mipsel !kfreebsd-i386]
 Build-Conflicts: libsvn0 (<< 1.2)
 Standards-Version: 3.6.2.1
 
@@ -29,7 +29,7 @@
 Package: libsvn0
 Section: libs
 Architecture: any
-Depends: ${shlibs:Depends}
+Depends: libapr0 (>= 2.0.55-3), ${shlibs:Depends}
 Description: shared libraries used by Subversion (aka. svn)
  Subversion is a version control system much like the Concurrent
  Versions System (CVS).  Version control systems allow many
@@ -45,7 +45,7 @@
 Section: libdevel
 Priority: extra
 Architecture: any
-Depends: libsvn0 (= ${Source-Version}), libapr0-dev, libdb4.3-dev, libneon25-dev
+Depends: libsvn0 (= ${Source-Version}), libapr0-dev (>= 2.0.55-3), libdb4.3-dev, libneon25-dev
 Description: development files for Subversion (aka. svn) libraries
  Subversion is a version control system much like the Concurrent
  Versions System (CVS).  Version control systems allow many
@@ -114,7 +114,7 @@
 Package: libsvn-javahl
 Section: devel
 Architecture: any
-Depends: kaffe | gij | sablejvm | java-virtual-machine , libsvn0 (= ${Source-Version})
+Depends: kaffe (>= 1.1.6) | gij | sablejvm | java-virtual-machine , libsvn0 (= ${Source-Version})
 Description: java bindings for Subversion (aka. svn)
  Subversion is a version control system much like the Concurrent
  Versions System (CVS).  Version control systems allow many
diff -ru ../orig/subversion-1.3.0/debian/rules ./debian/rules
--- ../orig/subversion-1.3.0/debian/rules	2006-01-11 22:53:40.000000000 -0800
+++ ./debian/rules	2006-01-12 07:45:23.000000000 -0800
@@ -40,7 +40,8 @@
 		--with-apxs=/usr/bin/apxs2 \
 		--disable-mod-activation \
 		--with-ruby-sitedir=/usr/lib/ruby \
-		--with-swig=/usr
+		--with-swig=/usr \
+		--with-junit=/usr/share/java/junit.jar
 
 ifdef DEB_BUILD_OPT_DEBUG
   confflags+= --enable-debug 
@@ -115,6 +116,13 @@
 debian/stamp-build: debian/stamp-configure
 	dh_testdir
 
+	# Subversion ships with Swig 1.3.25 pre-generated files.  If
+	# the system's Swig version is different, then all of the Swig
+	# generated files should be re-generated, so do that now.
+	# This needs to be done if the system's Swig is 1.3.24, as the
+	# runtime changed significantly between 1.3.24 and 1.3.25.
+	$(MAKE) -C $(DEB_BUILDDIR) extraclean-swig-headers
+
 	$(MAKE) -C $(DEB_BUILDDIR) all swig-py \
 		swig_pydir=/usr/lib/$(PYTHON)/site-packages/libsvn \
 		swig_pydir_extra=/usr/lib/$(PYTHON)/site-packages/svn
@@ -250,7 +258,7 @@
 	@echo "use DEB_BUILD_OPTIONS=nocheck or edit debian/rules."
 	@echo
 	@if ! $(MAKE) -C $(DEB_BUILDDIR) \
-		check check-swig-py check-swig-pl check-swig-rb \
+		check check-swig-py check-swig-pl check-swig-rb CLEANUP=true \
 		LC_ALL=C LD_LIBRARY_PATH="$(SVN_LD_LIBRARY_PATH)"; then \
 	  echo "###################################################"; \
 	  echo "Testsuite failed, 'tests.log' follows:"; echo; \


More information about the pkg-subversion-maintainers mailing list