Bug 727543 - jnr-ffi - Java Abstracted Foreign Function Layer
Summary: jnr-ffi - Java Abstracted Foreign Function Layer
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Alexander Kurtakov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 723191
TreeView+ depends on / blocked
 
Reported: 2011-08-02 12:23 UTC by Mo Morsi
Modified: 2011-09-07 03:43 UTC (History)
3 users (show)

Fixed In Version: jnr-ffi-0.5.10-3.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-09-07 00:14:05 UTC
akurtako: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Mo Morsi 2011-08-02 12:23:52 UTC
Spec URL: http://mo.morsi.org/files/jruby/jnr-ffi.spec
SRPM URL: http://mo.morsi.org/files/jruby/jnr-ffi-0.5.10-1.fc15.src.rpm
Description: 
Java Abstracted Foreign Function Layer

Obsoletes jaffl. Required by JRuby.
 
http://koji.fedoraproject.org/koji/taskinfo?taskID=3246435

Comment 1 Alexander Kurtakov 2011-08-09 06:02:05 UTC
I would do this one.

Comment 2 Alexander Kurtakov 2011-08-09 06:17:42 UTC
Few initial problems:
* License is wrong - ASL 2.0 in the source but LGPLv3 in the spec
* rm -rf $RPM_BUILD_ROOT as first line of install section is no longer needed
* clean section is no longer needed
* versioned jars are installed, please install only unversioned one http://fedoraproject.org/wiki/Packaging:Java#Filenames
* %defattr(-,root,root,-) are no longer needed
* do not install versioned javadoc folder http://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
* post/postun %update_maven_depmap are no longer needed
* %add_to_maven_depmap is used but it's deprecated now please use %add_maven_depmap JPP-%{name}.pom %{name}.jar quite simple and validates you're doing the right thing
* Do not BuildRequires: ant-nodeps it has been merged into main ant package

Question:
* Do we need the changelog from jaffl at all? For me it only makes the spec bigger but it's up to you

Once the listed problems are fixed I'll do the formal review

Comment 3 Alexander Kurtakov 2011-08-09 06:22:23 UTC
Oh and I forgot to say please make the Obsoletes/Provides versioned

Comment 4 Mo Morsi 2011-08-10 20:46:20 UTC
Updated spec URL: http://mo.morsi.org/files/jruby/jnr-ffi.spec
Updated SRPM URL: http://mo.morsi.org/files/jruby/jnr-ffi-0.5.10-2.fc14.src.rpm

Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3264801

(In reply to comment #2)
> Few initial problems:
> * License is wrong - ASL 2.0 in the source but LGPLv3 in the spec

Project is dual licensed under the ASL and LGPLv3+, license field has been updated to reflect this

> * rm -rf $RPM_BUILD_ROOT as first line of install section is no longer needed
> * clean section is no longer needed

Both are done

> * versioned jars are installed, please install only unversioned one
> http://fedoraproject.org/wiki/Packaging:Java#Filenames
> * %defattr(-,root,root,-) are no longer needed
> * do not install versioned javadoc folder
> http://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation

As are these three.

> * post/postun %update_maven_depmap are no longer needed

Done

> * %add_to_maven_depmap is used but it's deprecated now please use
> %add_maven_depmap JPP-%{name}.pom %{name}.jar quite simple and validates you're
> doing the right thing

When I change this I get the following error:

+ %add_maven_depmap JPP-jnr-ffi.pom jnr-ffi.jar
/var/tmp/rpm-tmp.Vqrru5: line 38: fg: no job control
error: Bad exit status from /var/tmp/rpm-tmp.Vqrru5 (%install)

Thoughts?


> * Do not BuildRequires: ant-nodeps it has been merged into main ant package
> 

Done


> Question:
> * Do we need the changelog from jaffl at all? For me it only makes the spec
> bigger but it's up to you
> 

Truncated these extra bits


(In reply to comment #3)
> Oh and I forgot to say please make the Obsoletes/Provides versioned

Done (believe I did this correctly though would like verification).

Thanks for the review.

Comment 5 Alexander Kurtakov 2011-08-15 10:34:07 UTC
Package Review
==============

Key:
- = N/A
x = Check
! = Problem
? = Not evaluated

=== REQUIRED ITEMS ===
[x]  Rpmlint output:
W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados
[x]  Package is named according to the Package Naming Guidelines[1].
[x]  Spec file name must match the base package name, in the format %{name}.spec.
[x]  Package meets the Packaging Guidelines[2].
[x]  Package successfully compiles and builds into binary rpms.
[x]  Buildroot definition is not present
[x]  Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines[3,4].
[x]  License field in the package spec file matches the actual license.
License type: ASLv2 and LGPLv3+
[x]  If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc.
[x]  All independent sub-packages have license of their own
[x]  Spec file is legible and written in American English.
[x]  Sources used to build the package matches the upstream source, as provided in the spec URL.
[x]  All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines[5].
[x]  Package must own all directories that it creates.
[x]  Package requires other packages for directories it uses.
[x]  Package does not contain duplicates in %files.
[x]  File sections do not contain %defattr(-,root,root,-) unless changed with good reason
[x]  Permissions on files are set properly.
[x]  Package does NOT have a %clean section which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). (not needed anymore)
[x]  Package consistently uses macros (no %{buildroot} and $RPM_BUILD_ROOT mixing)
[x]  Package contains code, or permissable content.
[x]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[x]  Package does not own files or directories owned by other packages.
[x]  Javadoc documentation files are generated and included in -javadoc subpackage
[x]  Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlinks)
[x]  Packages have proper BuildRequires/Requires on jpackage-utils
[x]  Javadoc subpackages have Require: jpackage-utils
[x]  Package uses %global not %define
[-]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[x]  If source tarball includes bundled jar/class files these need to be removed prior to building
[x]  All filenames in rpm packages must be valid UTF-8.
[!]  Jar files are installed to %{_javadir}/%{name}.jar (see [6] for details)
Is the jaffl-0.5.jar really needed?
[x]  If package contains pom.xml files install it (including depmaps) even when building with ant
[!]  pom files has correct add_maven_depmap

=== Maven ===
[x]  Use %{_mavenpomdir} macro for placing pom files instead of %{_datadir}/maven2/poms
[-]  If package uses "-Dmaven.test.skip=true" explain why it was needed in a comment
[-]  If package uses custom depmap "-Dmaven.local.depmap.file=*" explain why it's needed in a comment
[x]  Package DOES NOT use %update_maven_depmap in %post/%postun
[x]  Packages DOES NOT have Requires(post) and Requires(postun) on jpackage-utils for %update_maven_depmap macro

=== Other suggestions ===
[x]  If possible use upstream build method (maven/ant/javac)
[x]  Avoid having BuildRequires on exact NVR unless necessary
[x]  Package has BuildArch: noarch (if possible)
[x]  Latest version is packaged.


=== Issues ===
1. Is the jaffl-0.5.jar really needed? I would prefer if we kill versioned jars entirely but it's up to you.
2. add_maven_depmap looks for the pom file and reads it so it has to be installed before calling the macro
3. Please put the release in provides/obsoletes too

Comment 6 Mo Morsi 2011-08-24 01:21:30 UTC
Updated spec URL: http://mo.morsi.org/files/jruby/jnr-ffi.spec
Updated SRPM URL: http://mo.morsi.org/files/jruby/jnr-ffi-0.5.10-3.fc14.src.rpm

> === Issues ===
> 1. Is the jaffl-0.5.jar really needed? I would prefer if we kill versioned jars
> entirely but it's up to you.

Removed

> 2. add_maven_depmap looks for the pom file and reads it so it has to be
> installed before calling the macro


I understand your point, but once again when I add the suggested invocation of the %add_maven_depmap macro, I get 

+ %add_maven_depmap JPP-jnr-ffi.pom
/var/tmp/rpm-tmp.eT91Tn: line 48: fg: no job control


Even if the macro is called after the pom is installed (see commented location in spec file). Please advise on correct way to proceed w/out error.


> 3. Please put the release in provides/obsoletes too

Done

Comment 7 Alexander Kurtakov 2011-08-24 06:17:18 UTC
Thanks, I would not block on the add_maven_depmap usage. I didn't thought about that but what version of jpackage-utils do you have? Is it failing in mock on rawhide? Most probably you have too old jpackage-utils that doesn't have it.

Anyway,

This package is APPROVED.

Comment 8 Mo Morsi 2011-08-24 15:37:22 UTC
Thanks for the review, the version of jpackage-utils that I have locally is jpackage-utils-1.7.5-3.11.fc14.noarch according to rpm (yum update jpackage-utils turns up nothing as well).



New Package SCM Request
=======================
Package Name: jnr-ffi
Short Description: Java Abstracted Foreign Function Layer
Owners: mmorsi
Branches: f15 f16
InitialCC:

Comment 9 Gwyn Ciesla 2011-08-24 15:40:32 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2011-08-24 19:20:48 UTC
jnr-ffi-0.5.10-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/jnr-ffi-0.5.10-3.fc15

Comment 11 Fedora Update System 2011-08-24 19:20:59 UTC
jnr-ffi-0.5.10-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/jnr-ffi-0.5.10-3.fc16

Comment 12 Fedora Update System 2011-08-24 22:46:48 UTC
jnr-ffi-0.5.10-3.fc16 has been pushed to the Fedora 16 testing repository.

Comment 13 Fedora Update System 2011-09-07 00:13:59 UTC
jnr-ffi-0.5.10-3.fc15 has been pushed to the Fedora 15 stable repository.

Comment 14 Fedora Update System 2011-09-07 03:42:59 UTC
jnr-ffi-0.5.10-3.fc16 has been pushed to the Fedora 16 stable repository.


Note You need to log in before you can comment on or make changes to this bug.