Bug 791222 - Review Request: jamonapi - A Java monitoring API
Summary: Review Request: jamonapi - A Java monitoring API
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Juan Hernández
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-16 14:38 UTC by Andy Grimm
Modified: 2016-11-08 03:46 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-03-07 23:27:13 UTC
Type: ---
Embargoed:
juan.hernandez: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Andy Grimm 2012-02-16 14:38:53 UTC
Name        : jamonapi
Version     : 2.73
Release     : 1.fc18
Group       : Development/Libraries
License     : BSD
URL         : jamon.sourceforge.net
Summary     : A Java monitoring API
Description :
A Java monitoring API

SPEC:
http://downloads.eucalyptus.com/devel/packages/fedora-17/SPECS/jamonapi.spec

SRPM:
http://downloads.eucalyptus.com/devel/packages/fedora-17/sources/jamonapi-2.73-3.fc18.src.rpm

Comment 1 Juan Hernández 2012-02-24 17:09:05 UTC
The URL of the SRPM isn't correct. The correct one is the following:

http://downloads.eucalyptus.com/devel/packages/fedora-17/sources/jamonapi-2.73-1.fc18.src.rpm

=== REQUIRED ITEMS ===
[!]  Rpmlint output:

Result of rpmlint of the SRPM:

jamonapi.src: W: invalid-url URL jamon.sourceforge.net
jamonapi.src: W: invalid-url Source0: jamonapi-2.73.tar.gz
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Result of rpmlint of the binary RPMs:

jamonapi.noarch: W: incoherent-version-in-changelog 2.73-3 ['2.73-1.fc18', '2.73-1']
jamonapi.noarch: W: invalid-url URL jamon.sourceforge.net
jamonapi.noarch: W: spurious-executable-perm /usr/share/doc/jamonapi-2.73/JAMonUsersGuide/javadoc/com/jamonapi/NullMonitor.html
jamonapi.noarch: E: wrong-script-end-of-line-encoding /usr/share/doc/jamonapi-2.73/JAMonUsersGuide/javadoc/com/jamonapi/NullMonitor.html
jamonapi.noarch: W: spurious-executable-perm /usr/share/doc/jamonapi-2.73/JAMonUsersGuide/presentation/jamon_files/slide0112_image052.jpg
jamonapi.noarch: W: spurious-executable-perm /usr/share/doc/jamonapi-2.73/JAMonUsersGuide/javadoc/overview-frame.html
jamonapi.noarch: E: wrong-script-end-of-line-encoding /usr/share/doc/jamonapi-2.73/JAMonUsersGuide/javadoc/overview-frame.html
... for all the files in /usr/share/doc.

jamonapi-javadoc.noarch: W: invalid-url URL jamon.sourceforge.net
jamonapi-javadoc.noarch: W: spurious-executable-perm /usr/share/doc/jamonapi-javadoc-2.73/JAMonLicense.html
jamonapi-javadoc.noarch: E: wrong-script-end-of-line-encoding /usr/share/doc/jamonapi-javadoc-2.73/JAMonLicense.html
2 packages and 0 specfiles checked; 112 errors, 193 warnings.

[!]  Package is named according to the Package Naming Guidelines[1].

The changelog doesn't match the release tag.

[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.

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

[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]  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 or must require 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
[!]  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.
[-]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[-]  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
[x]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[-]  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 [1] for details)

The package installs "jamon.jar" instead of "jamonapi.jar".  According to the guidelines it should install "jamonapi.jar" and then a "jamon.jar" symlink pointing to "jamonapi.jar".

[x]  If package contains pom.xml files install it (including depmaps) even when building with ant
[x]  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.
[x]  Reviewer should test that the package builds in mock.

=== Issues ===
1. The URL is not correct, should be http://jamonapi.sourceforge.net (is missing the http:// prefix).
2. Wrong permissions in documentation files.
3. The complain about Source0 is normal and acceptable.
4. The changelog doesn't match the release tag.
5. The package installs "jamon.jar" instead of "jamonapi.jar". According to the guidelines it should install "jamonapi.jar" and then a "jamon.jar" symlink pointing to "jamonapi.jar".

=== Final Notes ===
Please, address the issues and I will review again.

================
*** REJECTED ***
================

[1] https://fedoraproject.org/wiki/Packaging:Java#Filenames

Comment 2 Andy Grimm 2012-02-24 17:20:53 UTC
Oops, I did not mean for you to review the "-1" revision... I thought I had posted the newer file on the the website; it fixed several of those issues.

Comment 3 Juan Hernández 2012-02-24 17:22:35 UTC
No problem. Tell me were it is and I will do the review again.

Comment 5 Juan Hernández 2012-02-24 18:21:32 UTC
=== REQUIRED ITEMS ===
[x]  Rpmlint output:

Result of rpmlint of the SRPM:

jamonapi.src: W: invalid-url Source0: jamonapi-2.73.tar.gz
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Result of rpmlint of the binary RPMs:

jamonapi.noarch: W: file-not-utf8
/usr/share/doc/jamonapi-2.73/JAMonUsersGuide/JAMon_PB.zip

[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.

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

[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]  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 or must require 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.
[-]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[-]  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
[x]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[-]  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.
[x]  Jar files are installed to %{_javadir}/%{name}.jar (see [1] for details)
[x]  If package contains pom.xml files install it (including depmaps) even when building with ant
[x]  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.
[x]  Reviewer should test that the package builds in mock.

=== Issues ===
1. The rpmlint warning about the JAMon_PB.zip file is not very important, but the file itself apparently contains two Java source files and a PowerBuilder binary (I guess). I think that this PowerBuilder binary should be removed (or just the .zip file).
2. The /usr/share/doc/jamonapi-2.73/JAMonUsersGuide/javadoc directory contains a copy of the Javadoc that is bundled with the source, and then the -javadoc package contains another copy. I think that the /usr/share/doc/jamonapi-2.73/JAMonUsersGuide/javadoc should be removed.

=== Final Notes ===
1. It would be nice to use tomcat (7 I mean) instead of tomcat6 in the dependencies (if possible).
2. Please, address issues #1 and #2 and I will approve.

Comment 7 Juan Hernández 2012-02-27 10:20:24 UTC
=== REQUIRED ITEMS ===
[x]  Rpmlint output:

Result of rpmlint of the SRPM:

jamonapi.src: W: invalid-url Source0: jamonapi-2.73.tar.gz
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Result of rpmlint of the binary RPMs:

jamonapi.noarch: E: explicit-lib-dependency tomcat-lib
2 packages and 0 specfiles checked; 1 errors, 0 warnings.

[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.

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

[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]  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 or must require 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.
[-]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[-]  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
[x]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[-]  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.
[x]  Jar files are installed to %{_javadir}/%{name}.jar (see [1] for details)
[x]  If package contains pom.xml files install it (including depmaps) even when building with ant
[x]  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.
[x]  Reviewer should test that the package builds in mock.

=== Issues ===
1. The rpmlint warning about the source URL is normal.
2. The rpmlint error is a mistake of rpmlint, it is assuming that "tomcat-lib" is a library file, but it is a package.

=== Final Notes ===
Great job, thanks!

================
*** APPROVED ***
================

Comment 8 Andy Grimm 2012-03-01 20:15:21 UTC
New Package SCM Request
=======================
Package Name: jamonapi
Short Description: A Java monitoring API
Owners: arg
Branches: f17

Comment 9 Gwyn Ciesla 2012-03-02 02:21:38 UTC
Git done (by process-git-requests).


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