Bug 790258 - Review Request: hamcrest12 - Library of matchers for building test expressions
Summary: Review Request: hamcrest12 - Library of matchers for building test expressions
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: David Nalley
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-14 03:35 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-02-20 01:27:03 UTC
Type: ---
Embargoed:
david: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Andy Grimm 2012-02-14 03:35:24 UTC
Name        : hamcrest1.2
Version     : 1.2
License     : BSD
URL         : http://code.google.com/p/hamcrest/
Summary     : Library of matchers for building test expressions
Description :
Provides a library of matcher objects (also known as constraints or predicates)
allowing 'match' rules to be defined declaratively, to be used in other
frameworks. Typical scenarios include testing frameworks, mocking libraries and
UI validation rules.

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

SRPM:
http://downloads.eucalyptus.com/devel/packages/fedora-17/sources/hamcrest1.2-1.2-2.fc18.src.rpm

NOTE: Fedora already contains a hamcrest 1.1 package, which must remain due to junit 4's dependence on it.

Comment 1 David Nalley 2012-02-16 14:40:41 UTC
Package Review
==============

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

=== REQUIRED ITEMS ===
[X]  Rpmlint output:
[ke4qqq@nalleyx200 SPECS]$ rpmlint hamcrest1.2.spec ../SRPMS/hamcrest1.2-1.2-2.fc16.src.rpm ../RPMS/noarch/hamcrest1.2-*
hamcrest1.2.spec: W: invalid-url Source0: http://hamcrest.googlecode.com/files/hamcrest-1.2.tgz HTTP Error 404: Not Found
hamcrest1.2.src: W: spelling-error Summary(en_US) matchers -> marchers, matches, catchers
hamcrest1.2.src: W: spelling-error %description -l en_US matcher -> marcher, matches, catcher
hamcrest1.2.src: W: spelling-error %description -l en_US declaratively -> declarative, decoratively, attractively
hamcrest1.2.src: W: invalid-url Source0: http://hamcrest.googlecode.com/files/hamcrest-1.2.tgz HTTP Error 404: Not Found
hamcrest1.2.noarch: W: spelling-error Summary(en_US) matchers -> marchers, matches, catchers
hamcrest1.2.noarch: W: spelling-error %description -l en_US matcher -> marcher, matches, catcher
hamcrest1.2.noarch: W: spelling-error %description -l en_US declaratively -> declarative, decoratively, attractively
3 packages and 1 specfiles checked; 0 errors, 8 warnings.

Spelling warnings are drivel 
No idea why rpmlint is complaining about 404, dl worksforme


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

Somewhat concerned about the delimiter here. (though I have seen us use delimiters in practice , see openjdk for a an example of this.) 
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Multiple_packages_with_the_same_base_name   <-- says we don't use delimiters. 

[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:
[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.
[!]  All independent sub-packages have license of their own

Since -javadoc doesn't require parent package, you need to include LICENSE.txt in -javadoc as well. 

[X]  Spec file is legible and written in American English.
[!]  Sources used to build the package matches the upstream source, as provided in the spec URL.
ad1403dfabe21c88a4007c074e958c3a  ../SOURCES/hamcrest-1.2.tgz
b4bd43f44d082d77daf7ec564d304cdf  ../SOURCES/hamcrest-1.2.tgz.1
b4bd43f44d082d77daf7ec564d304cdf  ../SOURCES/hamcrest-1.2.tgz.2

I downloaded twice, so I don't think it's dynamically generating the tarball. 


[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.
[X]  Package does not own files or directories owned by other packages.
[-]  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
[!]  Javadoc subpackages have Require: jpackage-utils
[!]  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.
[X]  Jar files are installed to %{_javadir}/%{name}.jar (see [6] 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 ===
[-]  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
[-]  Package DOES NOT use %update_maven_depmap in %post/%postun
[-]  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.
Tested on:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3795813

=== Issues ===

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

Somewhat concerned about the delimiter here. (though I have seen us use delimiters in practice , see openjdk for a an example of this.) 
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Multiple_packages_with_the_same_base_name   <-- says we don't use delimiters. 

[!]  Javadoc subpackages have Require: jpackage-utils
[!]  Package uses %global not %define

[!]  All independent sub-packages have license of their own

Since -javadoc doesn't require parent package, you need to include LICENSE.txt in -javadoc as well. 


[!]  Sources used to build the package matches the upstream source, as provided in the spec URL.
ad1403dfabe21c88a4007c074e958c3a  ../SOURCES/hamcrest-1.2.tgz
b4bd43f44d082d77daf7ec564d304cdf  ../SOURCES/hamcrest-1.2.tgz.1
b4bd43f44d082d77daf7ec564d304cdf  ../SOURCES/hamcrest-1.2.tgz.2

I downloaded twice, so I don't think it's dynamically generating the tarball.

Comment 2 Andy Grimm 2012-02-16 15:21:07 UTC
I'm wondering if maybe I used an SVN export instead of a release download the first time around, but then referenced the release URL in the spec.  Anyway, I've replaced the tarball with the correct one.

All issues mentioned above should be fixed:

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

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

Comment 3 David Nalley 2012-02-16 16:31:41 UTC
Looks good 

APPROVED

Comment 4 Andy Grimm 2012-02-16 19:32:55 UTC
New Package SCM Request
=======================
Package Name:      hamcrest12
Short Description: Library of matchers for building test expressions
Owners:            arg
New Branches:      f17

Comment 5 Gwyn Ciesla 2012-02-16 19:58:14 UTC
Git done (by process-git-requests).

Comment 6 Andy Grimm 2012-02-20 01:48:42 UTC
Package Change Request
======================
Package Name: hamcrest12
New Branches: f17

I used an incorrect field name in the initial request.

Comment 7 Gwyn Ciesla 2012-02-20 01:56:57 UTC
No owners specified.

Comment 8 Andy Grimm 2012-02-20 02:11:36 UTC
Package Change Request
======================
Package Name: hamcrest12
New Branches: f17
Owners:            arg

I used an incorrect field name in the initial request.

Comment 9 Gwyn Ciesla 2012-02-20 13:06:12 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2012-02-20 14:18:22 UTC
hamcrest12-1.2-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/hamcrest12-1.2-3.fc17

Comment 11 Fedora Update System 2012-03-08 06:03:56 UTC
hamcrest12-1.2-3.fc17 has been pushed to the Fedora 17 stable repository.


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