With a little subversion.spec tweaking, I have the rawhide subversion java bindings (svn-javahl.jar) and JNI library (libsvnjavahl-1.so) building out of the box right now. Nothing currently in FC depends on this library since the current spec file disables it, but I think it makes sense to turn it on since the Eclipse svn plugin uses it, as well various servlets people have developed and are using. It wants to install the jar file in /usr/lib/svn-javahl. Should we move this to /usr/share/java? That seems like the right thing to do. I suppose I can figure out the native build bits once I see how other packages are managing it. I've attached the changes for review... AG
*** subversion.spec.orig 2005-01-16 12:24:11.000000000 -0800 --- subversion.spec 2005-03-04 09:44:36.495199296 -0800 *************** *** 1,6 **** --- 1,9 ---- # set to zero to avoid running test suite %define make_check 1 + # set JDK path to build javahl; default for JPackage + %define jdk_path /usr/lib/jvm/java + %define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) Summary: Modern Version Control System designed to replace CVS *************** *** 18,26 **** --- 21,31 ---- Patch2: subversion-0.20.1-deplibs.patch Patch3: subversion-0.31.0-rpath.patch Patch6: subversion-1.0.3-pie.patch + Patch7: subversion-java-ok.patch BuildPreReq: autoconf, libtool, python, python-devel, texinfo BuildPreReq: db4-devel >= 4.1.25, swig >= 1.3.21-5, docbook-style-xsl BuildPreReq: apr-devel, apr-util-devel, neon-devel >= 0:0.24.7-1 + BuildPreReq: java-1.4.2-gcj-compat-devel BuildRoot: %{_tmppath}/%{name}-root %define __perl_requires %{SOURCE3} *************** *** 70,81 **** --- 75,95 ---- This package includes the Perl bindings to the Subversion libraries. %endif + %package javahl + Group: Development/Libraries + Summary: JNI bindings to the Subversion libraries + Requires: subversion = %{version}-%{release} + + %description javahl + This package includes the JNI bindings to the Subversion libraries. + %prep %setup -q %patch1 -p1 -b .swig %patch2 -p1 -b .deplibs %patch3 -p1 -b .rpath %patch6 -p1 -b .pie + %patch7 -p1 -b .java-ok rm -rf neon apr apr-util db4 *************** *** 88,104 **** # fix shebang lines, #111498 perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in ! export CC=gcc CXX=g++ %configure --with-apr=%{_prefix} --with-apr-util=%{_prefix} \ --without-swig --with-neon=%{_prefix} \ --with-apxs=%{_sbindir}/apxs --disable-mod-activation make %{?_smp_mflags} all %{swigdirs} #make swig-pl swig-py %install rm -rf ${RPM_BUILD_ROOT} make install \ DESTDIR=$RPM_BUILD_ROOT %{swigdirs} # install-swig-py install-swig-pl-lib #make pure_vendor_install -C subversion/bindings/swig/perl/native \ --- 102,120 ---- # fix shebang lines, #111498 perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in ! export CC=gcc CXX=g++ JAVA_HOME=/usr/lib/jvm/java-1.4.2-gcj %configure --with-apr=%{_prefix} --with-apr-util=%{_prefix} \ --without-swig --with-neon=%{_prefix} \ --with-apxs=%{_sbindir}/apxs --disable-mod-activation make %{?_smp_mflags} all %{swigdirs} #make swig-pl swig-py + make javahl %install rm -rf ${RPM_BUILD_ROOT} make install \ DESTDIR=$RPM_BUILD_ROOT %{swigdirs} + make install-javahl DESTDIR=$RPM_BUILD_ROOT # install-swig-py install-swig-pl-lib #make pure_vendor_install -C subversion/bindings/swig/perl/native \ *************** *** 203,209 **** --- 219,233 ---- %{_mandir}/man*/*::* %endif + %files javahl + %defattr(-,root,root,-) + %{_libdir}/libsvnjavahl-1.* + %{_libdir}/svn-javahl + %changelog + * Fri Mar 4 2005 Anthony Green <green@xxxxxxxxxx> 1.1.3-2 + - build java bindings + * Sun Jan 16 2005 Joe Orton <jorton@xxxxxxxxxx> 1.1.3-1 - update to 1.1.3 (#145236) - fix python bindings location on x86_64 (#143522)
--- subversion-1.1.0/build/ac-macros/java.m4~ 2004-04-17 19:44:55.000000000 -0700 +++ subversion-1.1.0/build/ac-macros/java.m4 2005-02-01 05:53:28.081457080 -0800 @@ -73,7 +73,7 @@ AC_DEFUN(SVN_FIND_JDK, if test "$os_arch" = "Darwin"; then AC_MSG_WARN([You may need to install the latest Java Development package from http://connect.apple.com/. Apple no longer includes the JNI header files by default on Java updates.]) fi - JDK_SUITABLE=no + JDK_SUITABLE=yes fi AC_MSG_RESULT([$JDK_SUITABLE])