Bug 628280 - Review Request: apache-commons-collections - rename of jakarta-commons-collections
Review Request: apache-commons-collections - rename of jakarta-commons-collec...
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Alexander Kurtakov
Fedora Extras Quality Assurance
:
Depends On:
Blocks: JakartaCommonsRename
  Show dependency treegraph
 
Reported: 2010-08-29 02:08 EDT by carl
Modified: 2010-11-03 13:42 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-11-03 13:42:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
akurtako: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description carl 2010-08-29 02:08:21 EDT
!!! NOTE: This is a re-review because the package has been renamed from
jakarta-commons-collections

Spec URL: http://carlwithak.info/apache-commons-collections.spec
SRPM URL: http://carlwithak.info/apache-commons-collections-3.2.1-4.fc13.src.rpm
Description: Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities.
Comment 1 Alexander Kurtakov 2010-08-29 07:43:58 EDT
I'll do this one.
Comment 2 Alexander Kurtakov 2010-08-29 08:06:59 EDT
First impressions:
* You don't need Source1 ... Source5 and %patch1. These are not needed nowadays anymore we have a proper maven environment.
* You can also remove the following from the %build section:
export DEPCAT=$(pwd)/commons-collections-3.2-depcat.new.xml
echo '<?xml version="1.0" standalone="yes"?>' > $DEPCAT
echo '<depset>' >> $DEPCAT
for p in $(find . -name project.xml); do
    pushd $(dirname $p)
    /usr/bin/saxon project.xml %{SOURCE1} >> $DEPCAT
    popd
done
echo >> $DEPCAT
echo '</depset>' >> $DEPCAT
/usr/bin/saxon $DEPCAT %{SOURCE2} > commons-collections-3.2-depmap.new.xml

for p in $(find . -name project.xml); do
    pushd $(dirname $p)
    cp project.xml project.xml.orig
    /usr/bin/saxon -o project.xml project.xml.orig %{SOURCE3} map=%{SOURCE4}
    popd
done

It was needed for maven1 build which is something we don't do in Fedora
* rpmlint gives:
- apache-commons-collections-testframework-javadoc.noarch: W: non-standard-group Development/Documentation
Should be Documentation
- apache-commons-collections-testframework.noarch: W: non-standard-group Development/Testing
Maybe Development/Tools
- apache-commons-collections-testframework.noarch: W: no-documentation
Not a real problem.
- apache-commons-collections-testframework.noarch: W: empty-%post
- apache-commons-collections-testframework.noarch: W: empty-%postun
When you don't have what to put in these sections just remove them.
- apache-commons-collections.noarch: W: non-standard-group Development/Libraries/Java
Should be Development/Libraries
- apache-commons-collections.noarch: W: non-conffile-in-etc /etc/maven/fragments/apache-commons-collections
Not a problem
- apache-commons-collections-javadoc.noarch: W: non-standard-group Development/Documentation
Should be Documentation
- apache-commons-collections-tomcat5.noarch: W: non-standard-group Development/Libraries/Java
should be Development/Libraries
- apache-commons-collections-tomcat5.noarch: W: empty-%post
- apache-commons-collections-tomcat5.noarch: W: empty-%postun
Remove empty sections like this.

* file permissions is %defattr(0644,root,root,0755) but the preferred way is 
%defattr(-,root,root,-) so when/if defaults changes they will be picked up just by a rebuild

Once these issues are fixed I'll do the official review.
Comment 3 carl 2010-08-30 07:19:37 EDT
Spec URL: http://carlwithak.info/apache-commons-collections.spec
SRPM URL:
http://carlwithak.info/apache-commons-collections-3.2.1-5.fc13.src.rpm

* Remove source and patches no longer needed for Maven
* Fix non-standard groups and remove empty sections
* Fix file permissions
Comment 4 Alexander Kurtakov 2010-08-31 01:41:57 EDT
Review:
OK: rpmlint must be run on every package. Output:
apache-commons-collections-testframework.noarch: W: no-documentation
apache-commons-collections.noarch: W: non-conffile-in-etc /etc/maven/fragments/apache-commons-collections
Not a problem
OK: The package must be named according to the Package Naming Guidelines .
OK: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. 
OK: The package must meet the Packaging Guidelines .
OK: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
OK: The License field in the package spec file must match the actual license.
OK: 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 must be included in %doc.
OK: The spec file must be written in American English.
OK: The spec file for the package MUST be legible.
OK: The sources used to build the package must match the upstream source, as provided in the spec URL. 
OK: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
OK: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional.
OK: Packages must NOT bundle copies of system libraries.
OK: A package must own all directories that it creates. 
OK: A Fedora package must not list a file more than once in the spec file's %files listings. 
OK: Permissions on files must be set properly. Executables should be set with executable permissions, for example. 
OK: Each package must consistently use macros.
OK: The package must contain code, or permissable content.
OK: Large documentation files must go in a -doc subpackage.
OK: If a package includes something as %doc, it must not affect the runtime of the application.
FIXIT: Packages must not own files or directories already owned by other packages. 
You are using 
%{_datadir}/maven2/poms
%{_mavendepmapfragdir} which are owned by jpackage-utils, you should use them like
%{_datadir}/maven2/poms/*
%{_mavendepmapfragdir}/* to list only the files not the directories
Or even better:

OK: All filenames in rpm packages must be valid UTF-8. [24]

Not a problem but it would be nice if you use the new maven plugins names, e.g.
maven2-plugin-antrun is now called maven-antrun-plugin

Other than the small directory owning problem everything else is good.
Comment 5 carl 2010-08-31 08:15:14 EDT
Spec URL: http://carlwithak.info/apache-commons-collections.spec
SRPM URL:
http://carlwithak.info/apache-commons-collections-3.2.1-6.fc13.src.rpm

* Fixed package to own files, not parent directory
Comment 6 Alexander Kurtakov 2010-08-31 08:58:45 EDT
Thanks, 
This package is APPROVED.
Comment 7 Alexander Kurtakov 2010-08-31 09:09:59 EDT
Lifting FE-NEEDSPONSOR. I've sponsored carl.
Comment 8 carl 2010-09-02 07:48:06 EDT
New Package SCM Request
=======================
Package Name: apache-commons-collections
Short Description: Commons-Collections seek to build upon the JDK classes by
providing new interfaces, implementations and utilities.
Owners: carl
Branches: f14
InitialCC:
Comment 9 Kevin Fenzi 2010-09-02 17:33:36 EDT
Git done (by process-git-requests).
Comment 10 Mat Booth 2010-09-22 17:54:51 EDT
Hi guys,

When you import this into source control, it should probably be built for F15 (current rawhide) only. It's fairly late to be obsoleting F14 packages like this one now.

Don't forget to raise a rel-eng ticket to get the old jakarta-commons-collections package blocked in F15+ collections: https://fedorahosted.org/rel-eng/wiki

Thanks,
Mat
Comment 11 Alexander Kurtakov 2010-11-03 13:42:17 EDT
Imported, built and rel-eng ticket filled https://fedorahosted.org/rel-eng/ticket/4244
Closing.

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