Bug 629443

Summary: Review Request: jackson - A JSON-processor package in Java
Product: [Fedora] Fedora Reporter: Peter Halliday <phalliday>
Component: Package ReviewAssignee: Stanislav Ochotnicky <sochotni>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 13CC: fedora-package-review, notting, phalliday, sochotni
Target Milestone: ---   
Target Release: ---   
Hardware: noarch   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-12-06 16:14:31 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:
Bug Depends On:    
Bug Blocks: 201449    

Description Peter Halliday 2010-09-02 02:00:16 UTC
Spec URL: http://www.excelsiorsystems.net/media/rpms/jackson.spec
SRPM URL: http://www.excelsiorsystems.net/media/rpms/jackson-1.5.6-1.fc13.src.rpm
Description: This is the Jackson Json-processor package. Project home page can be found
from: http://jackson.codehaus.org/ which also has links to support forums
such as mailing lists, as well as links to obtain source code and binary
artifacts.

Comment 1 Stanislav Ochotnicky 2010-09-02 08:20:13 UTC
I'll have a look :-)

Comment 2 Stanislav Ochotnicky 2010-09-02 08:53:50 UTC
Few things first: 
 * are you sponsored? If not akurtakov agreed to do the "official" review and sponsor you
 * You should really skim through https://fedoraproject.org/wiki/Packaging:Java

Issues at first glance:
 
 * Javadoc sub-package also needs to have license files.

 * package and javadoc sub-package should have a Requires on jpackage-utils

 * You have to provide unversioned jar files too. This is most common way to do it during %install phase:

(cd $RPM_BUILD_ROOT%{_javadir}/ && for jar in *-%{version}*; \
  do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)

 * src/maven contains maven pom files. You should install these, and also use add_to_maven_depmap macro so that maven can find your jar files. See https://fedoraproject.org/wiki/Packaging:Java#maven for detais. It can be a bit tricky to get call to that macro right so don't hesitate to ask for help.

 * Package uses A LOT of bundled libraries. I haven't checked if they are all available in Fedora, but for using bundled libraries you would need to have a good reason and a FESCO exception to boot (not happening)

 * Your use of "build-classpath" is incorrect. Build-classpath is not automatic, you need to tell what jar file it should add to the classpath.

Example use:
$ build-classpath plexus/container-default
/usr/share/java/plexus/container-default.jar

In your case you will most probably have to do "build-jar-repository" (creates symlinks, not just outputs to stdout) and then modify build.xml probably because filenames will be a bit different than originals (version part missing). 

To make sure you are not using bundled libraries: "rm -rf lib/*" in %prep section of spec file. This means you will have to add them to BuildRequires and then modify build system to use symlinks created by build-jar-repository.

That's all I could see, please make these changes and then we'll see what next. I case you need help getting something to work, ask here or stop by at fedora-java

Comment 3 Stanislav Ochotnicky 2010-12-03 12:34:29 UTC
Are you still going to do the package or should I just close the review?

Comment 4 Stanislav Ochotnicky 2010-12-06 16:14:31 UTC
OK since there was no response I am closing this bug. Feel free to re-open if you find time to work on this later.