[fedora-java] Re: aot-compile-rpm and bouncycastle

Andrew Haley aph at redhat.com
Fri Jul 10 12:08:56 UTC 2009


Andrew Haley wrote:
> Orcan Ogetbil wrote:
>> On Wed, Jul 8, 2009 at 11:54 AM, Andrew Haley wrote:
>>> Orcan, please do this.
>> Sure Andrew. Just in rawhide or in stable branches too?

I think this should be fixed everywhere.

>> I have a question that has been puzzling me for a while: I disabled
>> the building of AOT bits for bouncycastle because that produced an
>> empty debuginfo package which I couldn't resolve otherwise (I tried
>> things you once suggested: no go).
> 
> I am very surprised: I can't remember you telling me that at the time.
> I'll have a look and tell you what I find.
> 
>> So, basically when I make a new java package I first try to build it
>> with GCJ. If it does build, I build the AOT bits too and I make the
>> package arch-specific. On the other hand, if the package does not
>> build with gcj but builds with openjdk only, I make it require java >
>> 1.5 (this excludes gcj) and I do not build the AOT bits. This time the
>> package becomes noarch.
>>
>> In the case of bouncycastle, I thought that the debuginfo package is
>> empty because the package really needs java 1.6 and gcj doesn't
>> support it.
> 
> I don't understand what would cause that.
> 
>> Am I doing the right thing? Or are AOT bits still important for java
>> 1.6 packages? (which doesn't make sense to me)
>>
>> Can you explain the dynamics laying behind so we can have more insight?
> 
> I'll tell you later.

I just tried this package with gcj, and the specfile needed a couple of
changes:

--- bouncycastle.spec~	2009-04-20 23:44:44.000000000 +0100
+++ bouncycastle.spec	2009-07-10 12:47:07.000000000 +0100
@@ -1,10 +1,10 @@
-%global with_gcj %{!?_with_gcj:0}%{?_with_gcj:1}
+%define with_gcj %{!?_without_gcj:1}%{?_without_gcj:0}
 %global archivever  jdk16-143
 %global classname   org.bouncycastle.jce.provider.BouncyCastleProvider

 Summary:          Bouncy Castle Crypto Package for Java
 Name:             bouncycastle
-Version:          1.43
+Version:          1.43_experimental
 Release:          1%{?dist}
 Group:            System Environment/Libraries
 License:          MIT
@@ -59,7 +59,7 @@
 %build
 pushd src
   export CLASSPATH=$(build-classpath junit4)
-  javac -target 1.5 `find . -type f -name "*.java"`
+  javac -g -target 1.5 `find . -type f -name "*.java"`
   jarfile="../bcprov-%{version}.jar"
   files="`find . -type f -name "*.class"`"
   test ! -d classes && mf="" \

The problem with debuginfo isn't that gcj doesn't support Java 1.6, it's that
no debuginfo is being generated at all.

By the way, I don't understand this:

BuildRequires:    java-devel >= 1.7
Requires:         java >= 1.7

why 1.7 ?

Andrew.




More information about the fedora-devel-java-list mailing list