[fedora-java] Re: aot-compile-rpm and bouncycastle
Andrew Haley
aph at redhat.com
Wed Jul 8 15:54:49 UTC 2009
Jerry James wrote:
> On Tue, Jul 7, 2009 at 1:23 PM, Jerry James<loganjerry at gmail.com> wrote:
>> When I build an RPM for a Java application on F-11, the
>> aot-compile-rpm step is issuing some warnings I don't understand.
>> They look like this:
>>
>> WARNING: Error loading security provider
>> org.bouncycastle.jce.provider.BouncyCastleProvider:
>> java.lang.ClassNotFoundException:
>> org.bouncycastle.jce.provider.BouncyCastleProvider not found in
>> gnu.gcj.runtime.SystemClassLoader{urls=[file:./],
>> parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
I think it's just a warning that you can ignore.
>> The application in question does not use bouncycastle, directly or
>> indirectly. On the other hand, I do have bouncycastle installed. Is
>> something misconfigured? Should bouncycastle be a BuildRequires for
>> gcj-using RPMs?
It's a bug in bouncycastle.
The latest spin of bouncycastle disabled all the gcj-isms so the
symlinks that gcj needs to find bouncycastle are no longer installed,
but the RPM still adds bouncycastle to the Classpath providers list.
Here's the test case:
import java.security.*;
public class Sec
{
public static void main(String[] args)
{
for (Provider p: Security.getProviders())
System.out.println(p);
}
}
$ gij Sec
WARNING: Error loading security provider org.bouncycastle.jce.provider.BouncyCastleProvider: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
We can just make sure the gcj symlinks are always installed:
--- bouncycastle.spec~ 2009-04-20 23:44:44.000000000 +0100
+++ bouncycastle.spec 2009-07-08 16:43:01.000000000 +0100
@@ -4,7 +4,7 @@
Summary: Bouncy Castle Crypto Package for Java
Name: bouncycastle
-Version: 1.43
+Version: 1.43ext2
Release: 1%{?dist}
Group: System Environment/Libraries
License: MIT
@@ -81,11 +81,11 @@
pushd $RPM_BUILD_ROOT%{_javadir}
ln -sf bcprov-%{version}.jar bcprov.jar
popd
-%if %{with_gcj}
install -dm 755 $RPM_BUILD_ROOT%{_javadir}/gcj-endorsed
pushd $RPM_BUILD_ROOT%{_javadir}/gcj-endorsed
ln -sf ../bcprov-%{version}.jar bcprov-%{version}.jar
popd
+%if %{with_gcj}
%{_bindir}/aot-compile-rpm
%endif
@@ -161,8 +161,8 @@
%doc *.html
%{_javadir}/bcprov.jar
%{_javadir}/bcprov-%{version}.jar
-%if %{with_gcj}
%{_javadir}/gcj-endorsed/bcprov-%{version}.jar
+%if %{with_gcj}
%{_libdir}/gcj/%{name}
%endif
%{_sysconfdir}/java/security/security.d/2000-%{classname}
Orcan, please do this.
Andrew.
More information about the fedora-devel-java-list
mailing list