Bug 603295

Summary: Review Request: guava - Guava (Google Common Libraries)
Product: [Fedora] Fedora Reporter: huwang <huwang>
Component: Package ReviewAssignee: Stanislav Ochotnicky <sochotni>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, sochotni
Target Milestone: ---Flags: sochotni: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-21 03:44:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description huwang 2010-06-12 08:31:53 UTC
Spec URL: http://huwang.fedorapeople.org/packages/guava/guava.spec
SRPM URL: http://huwang.fedorapeople.org/packages/guava/guava-05-1.src.rpm
Description: Guava is a suite of core and expanded libraries that include utility classes, google's collections, io classes, and much much more.

Scratch built in koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=2246200

Comment 1 Stanislav Ochotnicky 2010-06-14 07:08:54 UTC
I will do the review

Comment 2 Stanislav Ochotnicky 2010-06-14 08:32:43 UTC
I planned to start official review immediately, but due to problems with this package noted below I will delay it until those issues are fixed.

NEEDSWORK: rpmlint must be run on every package. The output should be posted in the review.
guava.src: W: name-repeated-in-summary C Guava
guava.src: W: spelling-error %description -l en_US google's -> Google's, goggle's, go ogle's
guava.src: W: spelling-error %description -l en_US io -> oi, Io, ii
guava.src: W: spelling-error %description -l en_US javax -> java, java x, Java
guava.src: W: invalid-url Source0: guava-r05.tar.bz2
guava.noarch: W: name-repeated-in-summary C Guava
guava.noarch: W: spelling-error %description -l en_US google's -> Google's, goggle's, go ogle's
guava.noarch: W: spelling-error %description -l en_US io -> oi, Io, ii
guava.noarch: W: spelling-error %description -l en_US javax -> java, java x, Java
guava.noarch: W: non-conffile-in-etc /etc/maven/fragments/guava
guava.noarch: W: dangling-relative-symlink /usr/share/java/guava-r05.jar *-05*
3 packages and 0 specfiles checked; 0 errors, 11 warnings.

So let's go 1 by 1:
 - summary should normally not repeat name of package. So simplify it
 to something like "Google Core Libraries for Java"
 - "Google's" not "google's"
 - your symlink in /usr/share/java is completely wrong. You will have
 to play with it a bit.

BIG FAT WARNING:
I have noted this before in previous reviews (not sure if it was your
package). When you do:

> svn export http://guava-libraries.googlecode.com/svn/trunk/ guava-r05

You CAN NOT guarantee checked out sources will always be the same! In
fact checked out sources are very different from sources you'd get by doing:

> svn export http://guava-libraries.googlecode.com/svn/tags/release05 guava-r05

And that you should do. Trunk is always changing, so you cannot make releases out of it without specifying at least revision number (if no tags exist).

NEEDSWORK: The package must meet the Packaging Guidelines .

Don't use:
> ln -s /usr/share/java/jsr-305.jar lib/jsr305.jar 

Instead use something like
export CLASSPATH=$(build-classpath jsr-305)

or if the build system really needs that jar file in lib/, see:

https://fedoraproject.org/wiki/Packaging:Java#build-jar-repository

I'll do full official review after these problems have been fixed.

Comment 3 Stanislav Ochotnicky 2010-06-15 09:24:18 UTC
I just realized one more thing you will have to do. Provide depmap for groupId: com.google.collections artifactId: google-collections. This is so that mvn-jpp runs will be able to work without modifications.

Comment 4 huwang 2010-06-17 11:57:48 UTC
All are fixed. Thank you for your suggestions. Please review, thanks.
Spec URL: http://huwang.fedorapeople.org/packages/guava/guava.spec
SRPM URL: http://huwang.fedorapeople.org/packages/guava/guava-05-2.src.rpm
Scratch built in koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=2255231

Comment 5 Stanislav Ochotnicky 2010-06-18 09:03:08 UTC
Unfortunately that symlink  in /usr/share/java is still wrong. This whole part:
install -Dpm 644 build/dist/guava-r%{version}/%{name}-r%{version}.jar   %{buildroot}%{_javadir}/%{name}-r%{version}.jar

(cd %{buildroot}%{_javadir} && for jar in *-%{version}*; \
    do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)

Needs to be modified to suit name of the jar file. The for cycle and sed call are not used properly because there is "r" in the jar name before version. Other than that package looks OK. Fix this one issue and I can approve it.

Comment 6 huwang 2010-06-18 13:34:26 UTC
(In reply to comment #5)
> Unfortunately that symlink  in /usr/share/java is still wrong. This whole part:
> install -Dpm 644 build/dist/guava-r%{version}/%{name}-r%{version}.jar  
> %{buildroot}%{_javadir}/%{name}-r%{version}.jar
> 
> (cd %{buildroot}%{_javadir} && for jar in *-%{version}*; \
>     do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
> 
> Needs to be modified to suit name of the jar file. The for cycle and sed call
> are not used properly because there is "r" in the jar name before version.
> Other than that package looks OK. Fix this one issue and I can approve it.    
Fixed. Please review again, thanks.
Spec URL: http://huwang.fedorapeople.org/packages/guava/guava.spec
SRPM URL: http://huwang.fedorapeople.org/packages/guava/guava-05-3.src.rpm
Scratch built in koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=2257019

Comment 7 Stanislav Ochotnicky 2010-06-18 13:53:51 UTC
Package looks good now. 

APPROVED

Comment 8 huwang 2010-06-20 01:24:13 UTC
Thanks for the review.

New Package CVS Request
=======================
Package Name: guava
Short Description: Google Core Libraries for Java
Owners: huwang
Branches: 
InitialCC:

Comment 9 Kevin Fenzi 2010-06-21 02:20:35 UTC
CVS done (by process-cvs-requests.py).

Comment 10 huwang 2010-06-21 03:44:17 UTC
Built in koji : http://koji.fedoraproject.org/koji/buildinfo?buildID=178892