[brltty] Fix up java subpackage installation directories

Stanislav Ochotnicky sochotni at fedoraproject.org
Wed Dec 12 16:04:47 UTC 2012


commit d5cc6e70d23b49007afa4406576c36a89fc6aa39
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Wed Dec 12 15:52:40 2012 +0100

    Fix up java subpackage installation directories
    
    - Fix java JNI loading code

 brltty-loadLibrary.patch |   21 +++++++++++++++++++++
 brltty.spec              |   33 +++++++++++++++++++--------------
 2 files changed, 40 insertions(+), 14 deletions(-)
---
diff --git a/brltty-loadLibrary.patch b/brltty-loadLibrary.patch
new file mode 100644
index 0000000..11ac936
--- /dev/null
+++ b/brltty-loadLibrary.patch
@@ -0,0 +1,21 @@
+diff --git a/Bindings/Java/Native.java b/Bindings/Java/Native.java
+index 8a3b003..c404bf2 100644
+--- a/Bindings/Java/Native.java
++++ b/Bindings/Java/Native.java
+@@ -21,7 +21,15 @@ package org.a11y.BrlAPI;
+ 
+ public class Native {
+   static {
+-    System.loadLibrary("brlapi_java");
++    try {
++         System.load( "/usr/lib64/brltty/libbrlapi_java.so" );
++    } catch( UnsatisfiedLinkError e ) {
++         try {
++             System.load( "/usr/lib/brltty/libbrlapi_java.so" );
++         } catch( UnsatisfiedLinkError f ) {
++             throw new UnsatisfiedLinkError("brlapi_java library load failed");
++         }
++     }
+   }
+ 
+   protected long handle;
diff --git a/brltty.spec b/brltty.spec
index 495aa83..e87ea30 100644
--- a/brltty.spec
+++ b/brltty.spec
@@ -10,7 +10,6 @@
 %define _exec_prefix %{nil}
 %define _libdir /%{_lib}
 
-%define _jnidir        %{_prefix}/%{_lib}/java
 
 # with speech dispatcher iff on Fedora:
 %define with_speech_dispatcher 0%{?fedora}
@@ -21,7 +20,7 @@
 
 Name: brltty
 Version: %{pkg_version}
-Release: 8%{?dist}
+Release: 9%{?dist}
 License: GPLv2+
 Group: System Environment/Daemons
 URL: http://mielke.cc/brltty/
@@ -30,6 +29,7 @@ Patch0: brltty-cppflags.patch
 Patch1: brltty-autoconf-quote.patch
 #Patch2: brltty-4.2-S_ISCHR.patch
 Patch3: brltty-parallel.patch
+Patch4: brltty-loadLibrary.patch
 BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 Summary: Braille display driver for Linux/Unix
 BuildRequires: byacc glibc-kernheaders
@@ -133,10 +133,8 @@ Version: %{api_version}
 Group: Development/System
 License: LGPLv2+
 Requires: brlapi = %{api_version}-%{release}
-## temporary work around, java-devel is not resolved consistently across archs
-#BuildRequires: jpackage-utils
+BuildRequires: jpackage-utils
 BuildRequires: java-devel
-#BuildRequires: java-1.5.0-gcj-devel
 Summary: Java binding for BrlAPI
 %description -n brlapi-java
 This package provides the Java binding for BrlAPI.
@@ -162,6 +160,7 @@ This package provides the OCaml binding for BrlAPI.
 %patch1 -p1 -b .quote
 #%%patch2 -p1 -b .S_ISCHR
 %patch3 -p1 -b .parallel
+%patch4 -p1 -b .loadLibrary
 
 %build
 # Patch6 changes aclocal.m4:
@@ -176,6 +175,11 @@ done
   --with-speechd=%{_prefix} \
 %endif
   --with-install-root="${RPM_BUILD_ROOT}"
+  JAVA_JAR_DIR=%{_jnidir} \
+  JAVA_JNI_DIR=%{_libdir}/brltty \
+  JAVA_JNI=yes
+  
+
 make %{?_smp_mflags}
 
 find . \( -path ./doc -o -path ./Documents \) -prune -o \
@@ -202,19 +206,15 @@ done
 %install
 rm -rf $RPM_BUILD_ROOT
 # does not seem to be parallel safe
-make install
+make install JAVA_JAR_DIR=%{_jnidir} \
+             JAVA_JNI_DIR=%{_libdir}/brltty \
+             JAVA_JNI=yes
 rm "$RPM_BUILD_ROOT%{_libdir}/libbrlapi.so"
 ln -s ../../%{_lib}/libbrlapi.so.0.5 "$RPM_BUILD_ROOT%{_prefix}/%{_lib}/libbrlapi.so"
 install -d -m 755 "${RPM_BUILD_ROOT}%{_sysconfdir}" "$RPM_BUILD_ROOT%{_mandir}/man5"
 install -m 644 Documents/brltty.conf "${RPM_BUILD_ROOT}%{_sysconfdir}"
 echo ".so man1/brltty.1" > $RPM_BUILD_ROOT%{_mandir}/man5/brltty.conf.5
 
-%if %{_lib} == "lib64"
-	#Manually place java plugin on 64-bit arches
-	mkdir $RPM_BUILD_ROOT%{_prefix}/%{_lib}/java/
-	install -m 755 Bindings/Java/libbrlapi_java.so "$RPM_BUILD_ROOT%{_prefix}/%{_lib}/java/"
-%endif
-
 # clean up the manuals:
 rm Documents/Manual-*/*/{*.mk,*.made,Makefile*}
 mv Documents/BrlAPIref/{html,BrlAPIref}
@@ -258,6 +258,7 @@ exit 0
 %{_libdir}/brltty/
 %exclude %{_libdir}/brltty/libbrlttybba.so
 %exclude %{_libdir}/brltty/libbrlttybxw.so
+%exclude %{_libdir}/brltty/libbrlapi_java.so
 %if %{with_speech_dispatcher}
 %exclude %{_libdir}/brltty/libbrlttyssd.so
 %endif
@@ -311,8 +312,8 @@ exit 0
 
 %files -n brlapi-java
 %defattr(-,root,root)
-%{_jnidir}/libbrlapi_java.so
-%{_javadir}/brlapi.jar
+%{_libdir}/brltty/libbrlapi_java.so
+%{_jnidir}/brlapi.jar
 
 %if 0%{?with_ocaml}
 %files -n ocaml-brlapi
@@ -322,6 +323,10 @@ exit 0
 %endif
 
 %changelog
+* Wed Dec 12 2012 Stanislav Ochotnicky <sochotnicky at redhat.com> - 4.3-9
+- Fix up java subpackage installation directories
+- Fix java JNI loading code
+
 * Wed Oct 17 2012 Jon Ciesla <limburgher at gmail.com> - 4.3-8
 - Bump and rebuild for new ocaml.
 


More information about the scm-commits mailing list