Bug 1193730

Summary: Review Request: apache-jena - Java framework for building Semantic Web and Linked Data applications
Product: [Fedora] Fedora Reporter: Don Pellegrino <don>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: akurtako, don, package-review, puntogil
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-10 15:25:31 UTC Type: Bug
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: 970285, 1210958, 1241447    
Bug Blocks: 177841    
Attachments:
Description Flags
Spec File
none
.spec file none

Description Don Pellegrino 2015-02-18 00:49:47 UTC
Created attachment 992970 [details]
Spec File

This review request is being submitted as per the comments in Bug 740814. This is a review request for an updated .spec file that packages Apache Jena 2.12.1. This is a revival of a retired package. The source from http://pkgs.fedoraproject.org/cgit/jena.git/tree/?id=9dde28df36a25f12dfc45b5c2b67e14bbdd84923 was used as a starting point, however the .spec file is heavily modified. The new .spec file is attached.

Comment 1 Don Pellegrino 2015-02-20 15:41:41 UTC
Note that the .spec file should be named "apache-jena.spec" to prevent a warning from rpmlint on the resulting SRPM.

Comment 2 Alexander Kurtakov 2015-02-23 14:10:00 UTC
Hi Donald,
I'm willing to take the review and sponsor you. Please follow the process as described at http://fedoraproject.org/wiki/New_package_process_for_existing_contributors .
Now you seem to be at step 3 - upload srpm/spec, this is mandatory so I can verify not only the spec but the source0..N you will upload when review is successful.

Comment 3 Don Pellegrino 2015-02-24 17:39:03 UTC
Comment on attachment 992970 [details]
Spec File

This .spec file should be named "apache-jena.spec" and is missing BuildRequires entries.

Comment 4 Don Pellegrino 2015-02-24 17:39:48 UTC
Created attachment 994784 [details]
.spec file

Comment 5 Don Pellegrino 2015-02-24 17:42:13 UTC
Koji Task: http://koji.fedoraproject.org/koji/taskinfo?taskID=9054354

Spec URL: https://bugzilla.redhat.com/attachment.cgi?id=994784

SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/4365/9054365/apache-jena-2.12.1-1.fc22.src.rpm

Description:

Jena is a Java framework for building semantic web applications. It
provides tools and Java libraries to help you to develop semantic web
and linked-data apps, tools and servers.

This distribution includes the following Apache Jena modules:

- jena-core: provides the Jena RDF APIs, Ontology APIs and Inference APIs.
- jena-arq: SPARQL 1.1, query and update.
- jena-tdb: scalable and performant storage subsystem for Jena
- jena-iri: provides an implementation of RFC 3987 (IRI) and RFC 3986 (URI)

Fedora Account System Username: donpellegrino

Comment 6 Alexander Kurtakov 2015-02-25 10:04:22 UTC
Looking at your spec file there is a blocker:
 You should use the source tarball and build from source in %build section. Aka Source0: http://www.us.apache.org/dist/jena/source/jena-2.12.1-source-release.zip 

and your build section should look like:
%build
%mvn_build

I would also recommend using %mvn_install in %install section for actually placing jars and manually install the rest.

Comment 7 Don Pellegrino 2015-02-27 21:22:57 UTC
The "Java Packaging HOWTO" has relevant information on packaging this maven project: https://fedorahosted.org/released/javapackages/doc/. I was also able to get some help from gil on #fedora-bigdata. Unfortunately, there are two dependencies I was unable to resolve when building from the apache jena source:

BuildRequires:      mvn(com.github.jsonld-java:jsonld-java)
BuildRequires:      mvn(org.apache.httpcomponents:httpclient-cache

In addition, "BuildRequires:      mvn(org.apache.commons:commons-csv)" is resolved by apache-commons-csv-0:1.0-0.11.svn1071189.fc21.noarch, however installing that package locally leads to compile-time errors.

Comment 8 gil cattaneo 2015-03-02 15:05:21 UTC
(In reply to Donald Pellegrino from comment #7)
> The "Java Packaging HOWTO" has relevant information on packaging this maven
> project: https://fedorahosted.org/released/javapackages/doc/. I was also
> able to get some help from gil on #fedora-bigdata. Unfortunately, there are
> two dependencies I was unable to resolve when building from the apache jena
> source:
> 
> BuildRequires:      mvn(com.github.jsonld-java:jsonld-java)
packaged jsonld-java src rpm and spec file are here https://gil.fedorapeople.org/jsonld-java.spec Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=9119629


> BuildRequires:      mvn(org.apache.httpcomponents:httpclient-cache

available only in Fedora >= 22 as httpcomponents-client-cache

Comment 9 Alexander Kurtakov 2015-06-30 04:10:01 UTC
Drop myself as reviewer as quite some time passed.

Comment 10 Upstream Release Monitoring 2015-12-14 10:40:19 UTC
jerboaa's scratch build of java-1.8.0-openjdk?#d28765c33d068af9ff432a92443b93beeef88a22 for git://pkgs.fedoraproject.org/java-1.8.0-openjdk?#d28765c33d068af9ff432a92443b93beeef88a22 and rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=12181621

Comment 11 Don Pellegrino 2016-10-10 13:35:36 UTC
I received the needinfo alert but I have not played with this build in a bit. I had given up due to the extent of the dependencies necessary. What next step might I take to help out here?

Comment 12 gil cattaneo 2016-10-10 15:02:08 UTC
(In reply to Donald Pellegrino from comment #11)
> I received the needinfo alert but I have not played with this build in a
> bit. I had given up due to the extent of the dependencies necessary. What
> next step might I take to help out here?

The only missing dependencies are:
BuildRequires: mvn(org.apache.lucene:lucene-analyzers-common:4.6.1)
BuildRequires: mvn(org.apache.lucene:lucene-core:4.6.1)
BuildRequires: mvn(org.apache.lucene:lucene-queryparser:4.6.1)
BuildRequires: mvn(org.apache.lucene:lucene-spatial:4.6.1)
BuildRequires: mvn(org.apache.solr:solr-solrj:4.6.1)
BuildRequires: mvn(org.apache.httpcomponents:httpclient-osgi)
BuildRequires: mvn(org.apache.httpcomponents:httpcore-osgi)
BuildRequires: mvn(com.github.rvesse:airline:0.9.1)


Test deps
BuildRequires: mvn(org.apache.mrunit:mrunit)
BuildRequires: mvn(org.xenei:junit-contracts)

if you think is not possible continue. please close this bug
regards

Comment 13 Don Pellegrino 2016-10-10 15:25:31 UTC
Thanks for the information. Rather than chase down the dependencies, I have opted to mark the bug as closed, cantfix. The "Java Packaging HOWTO" (https://fedora-java.github.io/howto/latest/) has been updated recently and may describe a path forward for keeping up with Java dependencies. The approach I used does not seem maintainable.