Suggestions to improve the JAVA guidelines
by Orcan Ogetbil
Hi,
As I promised overholt on IRC, I wanted to share my views about the Fedora Java packaging guidelines from a non-Java-coder point of view.
JAVA GUIDELINES:
- "JNI-using JAR files"
This link is broken. It can be fixed easily.
- BuildRequires: jpackage-utils
Why do we need this? I understand Requires: jpackage-utils for directory ownership etc, but the BR is not necessary for most packages (at least all the ones I saw so far). I think this should *not* be required.
- In certain cases, we can build applications GCJ-natively (producing .so files). But these won't work with any JVM. What should be the packager's primary preference? GCJ-native or OpenJDK? The first one runs faster, but the second one has larger coverage.
For instance, tuxguitar (that I packaged) provides GNU Makefiles (that use GCJ) for this. Are the resulting .so files going to be the same as the ones built by aot-compile-rpm? (More about AOT later)
This case has confused me a lot in the past.
- Some explanation in the beginning about what GCJ can do and what openjdk can do; and some information about byte-code vs. machine-code will be very useful.
- BuildRequires: java-devel [>= specific_version]
How will the packager get to know the "specific_version"? For openjdk this is 1:1.6.0 , but for GCJ this is 1.5.0 . Are there other numbers that we need to know? Can't we put the numbers for all the cases in the guidelines?
- The Specfile Templates for ant and maven contradict with what was written in the BuildRequires and Requires section.
- the abbreviation "SNPG" should be defined in the first possible place, not in the third iteration (both for ant and maven).
- "Will this preserve the line ending as the this page says it must?"
This would be an artistic ending if we were writing a novel. But I think a guideline shouldn't end with open questions :)
GCJ GUIDELINES:
- It would be nice if there was a definition of GCJ-AOT bits. What do they do? Why do we like them? What does gij do? etc
- "Note: For Fedora versions < 8, no JDK was available other than GCJ so java packages with executable code MUST have the GCJ AOT bits."
This notice can be removed safely.
- The occurences of
%attr(-,root,root)
should be removed.
- GCJ AOT bits SHOULD be built and included in packages.
This needs to be more explicit. ie. 's@in packages@in all Java packages@'. I also think that this sentence should go to JAVA GUIDELINES so people click on the link for "GCJ Guidelines". The way that "GCJ Guidelines" link is put there, doesn't give an impression that it should be visited for any possible Java package.
These are all issues I encountered. If I remember more I will post them here. I thought a review on the guidelines from a Java-ignorant person would help other Java-ignorant people in the future. Thanks for reading :)
-oget
14 years, 2 months
Very slow Eclipse on F10
by Mary Ellen Foster
Before I file this in bugzilla, I wanted to check if it's just my
problem ... Lately, in Eclipse (3.4.1 on Fedora 10), I've been
noticing that it takes several seconds to open a new editor. So if I
click on a Java source file (in Java perspective), the new tab appears
immediately, but it takes several seconds for the actual editor to
finish rendering. In the meantime, the tab just says "Java editor".
Similar things happen with the Ant buildfile editor.
I have several third-party plugins installed that I don't want to
remove unless I have to, which is why I wanted to check first -- is
anyone else seeing similar symptoms?
Thanks,
MEF
--
Mary Ellen Foster -- http://homepages.inf.ed.ac.uk/mef/
Informatik 6: Robotics and Embedded Systems, Technische Universität München
and ICCS, School of Informatics, University of Edinburgh
14 years, 7 months
why does openjdk need to depend on netbeans?
by Harshad
Hi,
I just tried installing java-1.6.0-openjdk-devel, and this causes a 38M download because of a dependency on netbeans. Is this really intended or is there a bug/oversight? (I am on a limited download internet connection)
Here's my complete yum trace:
yum install java-1.6.0-openjdk-devel.i386
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
* fedora: ftp.iitm.ac.in
* rpmfusion-free-updates: lordmorgul.net
* rpmfusion-nonfree-updates: lordmorgul.net
* rpmfusion-free: lordmorgul.net
* rpmfusion-nonfree: lordmorgul.net
* updates: ftp.iitm.ac.in
fedora | 2.8 kB 00:00
rpmfusion-free-updates | 2.7 kB 00:00
rpmfusion-nonfree-updates | 2.7 kB 00:00
rpmfusion-free | 2.7 kB 00:00
rpmfusion-nonfree | 2.7 kB 00:00
updates | 2.3 kB 00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package java-1.6.0-openjdk-devel.i386 1:1.6.0.0-7.b12.fc10 set to be updated
--> Processing Dependency: netbeans-platform8 for package: java-1.6.0-openjdk-devel
--> Running transaction check
---> Package netbeans-platform8.noarch 0:6.1-5.fc10 set to be updated
--> Processing Dependency: swing-layout >= 1.0 for package: netbeans-platform8
--> Processing Dependency: jna >= 3.0.2 for package: netbeans-platform8
--> Processing Dependency: javahelp2 >= 2.0.05 for package: netbeans-platform8
--> Running transaction check
---> Package javahelp2.noarch 0:2.0.05-5.fc10 set to be updated
---> Package swing-layout.i386 0:1.0.3-2.fc9 set to be updated
--> Processing Dependency: java-gcj-compat >= 1.0.31 for package: swing-layout
--> Processing Dependency: libgcj_bc.so.1 for package: swing-layout
---> Package jna.i386 0:3.0.4-10.svn729.fc10 set to be updated
--> Processing Dependency: libffi.so.5 for package: jna
--> Running transaction check
---> Package java-1.5.0-gcj.i386 0:1.5.0.0-22.fc10 set to be updated
updates/filelists_db | 2.8 MB 00:14
--> Processing Dependency: sinjdoc for package: java-1.5.0-gcj
---> Package libffi.i386 0:3.0.5-1.fc10 set to be updated
---> Package libgcj.i386 0:4.3.2-7 set to be updated
--> Running transaction check
---> Package sinjdoc.i386 0:0.5-7.fc10 set to be updated
--> Processing Dependency: java_cup >= 0.10 for package: sinjdoc
--> Running transaction check
---> Package java_cup.i386 1:0.10k-1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Installing:
java-1.6.0-openjdk-devel i386 1:1.6.0.0-7.b12.fc10 updates 12 M
Installing for dependencies:
java-1.5.0-gcj i386 1.5.0.0-22.fc10 fedora 132 k
java_cup i386 1:0.10k-1 fedora 175 k
javahelp2 noarch 2.0.05-5.fc10 fedora 551 k
jna i386 3.0.4-10.svn729.fc10 fedora 187 k
libffi i386 3.0.5-1.fc10 fedora 22 k
libgcj i386 4.3.2-7 fedora 19 M
netbeans-platform8 noarch 6.1-5.fc10 fedora 5.2 M
sinjdoc i386 0.5-7.fc10 fedora 786 k
swing-layout i386 1.0.3-2.fc9 fedora 144 k
Transaction Summary
===========================================================================================================
Install 10 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 38 M
Is this ok [y/N]: N
Exiting on user Command
Complete!
thanks,
Harshad
14 years, 7 months
[Fwd: [Bug 471811] RfE: Need CNI sub package to resurrect pdftk]
by Andrew Overholt
Can anyone with CNI experience please help with this bug? I have heard
of lots of people using pdftk and it would be nice if it was available
in Fedora.
Andrew
-------- Forwarded Message --------
> https://bugzilla.redhat.com/show_bug.cgi?id=471811
>
>
> Orcan 'oget' Ogetbil <oget.fedora(a)gmail.com> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> Status|NEW |CLOSED
> Resolution| |WONTFIX
>
>
>
>
> --- Comment #9 from Orcan 'oget' Ogetbil <oget.fedora(a)gmail.com> 2009-01-24 21:37:32 EDT ---
> Well, nobody stepped up to patch neither itext nor pdftk to make pdftk link to
> our itext dynamically. This task is rather involved as it will require JNI
> knowledge and possibly some java fixes within pdftk which might be incompatible
> with the current version of itext and bouncycastle we have. I am no java
> programmer.
>
> But I got several user requests at fedoraforum to package pdftk. We can do this
> at rpmfusion. If someone does the necessary work (and keeps doing it for every
> itext update), we'll drop pdftk from rpmfusion and put it back here.
>
> Jochen, would you like to do the packaging at rpmfusion (I will review it
> there) or do you want me to do it?
>
> Closing the bug as WONTFIX.
14 years, 8 months
Packaging BIRT
by Andrew Overholt
Hi,
I took a brief look at BIRT dependencies using the PDE dependency
visualizer [1]. I've attached its PNG output for
org.eclipse.birt.chart.device.swt and org.eclipse.birt.chart.examples
(what I thought would be a decent high-level bundle). It looks like we
should have most of the necessary dependencies in Fedora already (or up
for review):
batik
fop
avalon-{framework.logkit}
eclipse-emf
We'll have to add OSGi metadata matching what's in Orbit to batik, fop,
and possibly avalon-*. It looks like we've already got it for commons
codec. After that, I'm hoping we'll be able to use RPM Stubby [2] to
help us package BIRT :)
Help is always more than welcome if anyone's interested. I can
elaborate if necessary. The reason we're interested in doing this is so
that once they've had a release, we can get the eclipse.org Linux Tools
project's Valgrind tools [3] into Fedora.
Thanks,
Andrew
[1]
http://www.eclipse.org/pde/incubator/dependency-visualization/index.php
The key piece of information I needed to get it to work was that I had
to right-click in the view to specify a bundle
[2]
http://www.eclipse.org/linuxtools/projectPages/rpmstubby
[3]
http://www.eclipse.org/linuxtools/projectPages/valgrind
14 years, 8 months