[fedora-java] /usr/share/java and JNI libraries

Thomas Fitzsimmons fitzsim at redhat.com
Mon Mar 26 19:21:17 UTC 2007


David Walluck wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Patrice Dumas wrote:
>> On Mon, Mar 26, 2007 at 10:33:26AM -0700, Anthony Green wrote:
>>> I believe most end up in %{_libdir}.
>> Aren't jni files dlopened? If it is the case they should not be
>> in %{_libdir}, but in a subdirectory. 
>>
>> Are there packaging guidelines for java where such issues are 
>> explained?
> 
> Actually, I think you are right, but traditionally they have been but in
> %{_libdir}, and *jars* which depend on libraries have gone in %{_jnidir}
> = %{_libdir}/jni, per the JPackage 1.5 spec.
> 
> Is it also a problem having jars (non-binaries) inside %{_libdir}? Then
> maybe %{_jnidir} should be %{_datadir}/jni then?
> 
> I would tend to think that Debian is more correct here:
> 
> Libraries: %{_libdir}/jni
> Jars that dlopen() these libraries: {_libdir}/java
> 
> So, JPackage is sort of backwards from Debian, but I am not sure if that
> jar directory makes sense.

I would like to implement this in Fedora, but jpackage-utils is not 
mulitlib-aware.  Given that jpackage-utils installs directories in /usr/lib, it 
would make sense to make it architecture-specific.  Currently, we use the 
simpler approach of hard-coding _libdir to /usr/lib64 in the spec files of 
64-bit JDKs and appending .%{_arch} to their JAVA_HOME directories.  I haven't 
done much research into making jpackage-utils multilib (i.e., checked how Debian 
and Gentoo handle this), but at some point we should probably go back and design 
jpackage-utils/multilib interaction more thoroughly.

Tom




More information about the java-devel mailing list