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.
Note that the .spec file should be named "apache-jena.spec" to prevent a warning from rpmlint on the resulting SRPM.
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 on attachment 992970 [details] Spec File This .spec file should be named "apache-jena.spec" and is missing BuildRequires entries.
Created attachment 994784 [details] .spec file
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
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.
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.
(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
Drop myself as reviewer as quite some time passed.
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
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?
(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
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.