Bug 575632

Summary: Class-Path entry in findbugs-1.3.9.jar's META-INF/MANIFEST.MF
Product: [Fedora] Fedora Reporter: Ville Skyttä <ville.skytta>
Component: findbugsAssignee: Richard Fearn <richardfearn>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 14CC: loganjerry
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-28 23:17:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ville Skyttä 2010-03-21 21:01:50 UTC
findbugs-1.3.9.jar has a Class-Path entry in its META-INF/MANIFEST.MF which should be removed as it may cause nasty classpath problems.

http://fedoraproject.org/wiki/Packaging:Java#class-path-in-manifest

Comment 1 Jerry James 2010-03-22 15:08:09 UTC
I tried that when I first packaged findbugs, and it broke the Eclipse interface.  If you know how to get rid of the Class-Path entry without damaging the Eclipse interface, please let me know.  Otherwise, all I know to do is to keep an eye on updates to the dependencies.  Note that I maintain 3 of those dependencies, and comaintain 1 other, so dom4j, jaxen, and objectweb-asm are the only dependencies I really have to keep an eye on.

Comment 2 Ville Skyttä 2010-03-22 17:04:00 UTC
How did it break, and/or do you have a reproducer I could test?

I simply deleted Class-Path from /usr/share/java/findbugs-1.3.9.jar's META-INF/MANIFEST.MF, fired up Eclipse, ran clear bug markers on a project, ran find bugs on the same project, clicked around bug explorer, and ran the find bugs config UI, all of them seemed to work just fine.  Ditto after restarting Eclipse with eclipse -clean.  This is on F-13.

Not that I actually know anything about Eclipse plugin classpaths, but it would seem odd to me if it required the entry in findbugs.jar -- after all findbugs-plugin.jar in eclipse-findbugs contains a Bundle-ClassPath with seemingly all the necessary jars...

Comment 3 Fedora Admin XMLRPC Client 2010-03-30 08:30:01 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 4 Richard Fearn 2010-03-31 21:19:23 UTC
Irrespective of whether removing the Class-Path breaks the Eclipse plugin, it certainly breaks the command-line FindBugs. /usr/bin/findbugs only puts /usr/share/java/findbugs.jar on the classpath, so removing the Class-Path means FindBugs' dependencies are no longer on the classpath.

I guess I'll need to do something similar to what's done for ant or scala: have /usr/share/findbugs/lib contain symlinks to the JARs that FindBugs needs, and add all those symlinks to the classpath in /usr/bin/findbugs.

Comment 5 Ville Skyttä 2010-04-02 07:53:15 UTC
I haven't looked into it more closely but I don't know offhand why such a dir and symlink approach would be needed.  Why not just use the following as classpath in /usr/bin/findbugs?

$(build-classpath findbugs findbugs-bcel dom4j jaxen objectweb-asm/asm objectweb-asm/asm-tree jsr-305 jFormatString commons-lang)

Comment 6 Richard Fearn 2010-04-02 11:02:04 UTC
(In reply to comment #5)
> I haven't looked into it more closely but I don't know offhand why such a dir
> and symlink approach would be needed.  Why not just use the following as
> classpath in /usr/bin/findbugs?
> 
> $(build-classpath findbugs findbugs-bcel dom4j jaxen objectweb-asm/asm
> objectweb-asm/asm-tree jsr-305 jFormatString commons-lang)    

Yes, I think that would work too. FindBugs does depend on jpackage-utils so using build-classpath would be OK. Thanks Ville.

Comment 7 Bug Zapper 2010-07-30 11:08:24 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 14 development cycle.
Changing version to '14'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping