Bug 227106

Summary: Review Request: plexus-utils-1.2-1jpp - Plexus Common Utilities
Product: [Fedora] Fedora Reporter: Rafael H. Schloming <rafaels>
Component: Package ReviewAssignee: Matt Wringe <mwringe>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dbhole, tross
Target Milestone: ---Flags: nsantos: fedora-review+
dennis: 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: 2007-03-12 18:14:41 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 Rafael H. Schloming 2007-02-02 17:53:44 UTC
Spec URL: http://people.redhat.com/rafaels/specs/plexus-utils-1.2-1jpp.spec
SRPM URL: ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/SRPMS.free/plexus-utils-1.2-1jpp.src.rpm
Description: The Plexus project seeks to create end-to-end developer tools for
writing applications. At the core is the container, which can be
embedded or for a full scale application server. There are many
reusable components for hibernate, form processing, jndi, i18n,
velocity, etc. Plexus also includes an application server which
is like a J2EE application server, without all the baggage.

Javadoc for plexus-utils.

Comment 1 Nuno Santos 2007-02-12 23:02:08 UTC
plexus-utils-1.2-1jpp.src.rpm

Legend:
OK: passes criteria
NO: fails criteria (errors included between "--" markers)
NA: non applicable
??: unable to verify


MUST:
OK * package is named appropriately
OK - match upstream tarball or project name
OK - try to match previous incarnations in other distributions/packagers for
consistency
OK - specfile should be %{name}.spec
OK - non-numeric characters should only be used in Release (ie. cvs or
   something)
OK - for non-numerics (pre-release, CVS snapshots, etc.), see
   http://fedoraproject.org/wiki/Packaging/NamingGuidelines#PackageRelease
OK - if case sensitivity is requested by upstream or you feel it should be
   not just lowercase, do so; otherwise, use all lower case for the name
?? * is it legal for Fedora to distribute this?
?? - OSI-approved
OK - not a kernel module
OK - not shareware
?? - is it covered by patents?
OK - it *probably* shouldn't be an emulator
OK - no binary firmware
OK * license field matches the actual license.
OK * license is open source-compatible.
OK  - use acronyms for licences where common
OK * specfile name matches %{name}
?? * verify source and patches (md5sum matches upstream, know what the patches do)
 - if upstream doesn't release source drops, put *clear* instructions on
   how to generate the the source drop; ie. 
  # svn export blah/tag blah
  # tar cjf blah-version-src.tar.bz2 blah
OK * skim the summary and description for typos, etc.
NO * correct buildroot
 - should be:
   %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

--
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
--

NA * if %{?dist} is used, it should be in that form (note the ? and %
locations)
NO * license text included in package and marked with %doc
OK * keep old changelog entries; use judgement when removing (too old?
useless?)
OK * packages meets FHS (http://www.pathname.com/fhs/)
NO * rpmlint on <this package>.srpm gives no output
 - justify warnings if you think they shouldn't be there

--
$ rpmlint plexus-utils-1.2-1jpp.src.rpm 
W: plexus-utils non-standard-group Development/Java
W: plexus-utils invalid-license Apache Software License 2.0
E: plexus-utils unknown-key GPG#c431416d
W: plexus-utils mixed-use-of-spaces-and-tabs (spaces: line 9, tab: line 51)
--

OK * changelog should be in one of these formats:

  * Fri Jun 23 2006 Jesse Keating <jkeating> - 0.6-4
  - And fix the link syntax.

  * Fri Jun 23 2006 Jesse Keating <jkeating> 0.6-4
  - And fix the link syntax.

  * Fri Jun 23 2006 Jesse Keating <jkeating>
  - 0.6-4
  - And fix the link syntax.

OK * Packager tag should not be used
NO * Vendor tag should not be used

--
Vendor:         JPackage Project
--

OK * use License and not Copyright 
OK * Summary tag should not end in a period
NA * if possible, replace PreReq with Requires(pre) and/or Requires(post)
OK * specfile is legible
 - this is largely subjective; use your judgement
NO * package successfully compiles and builds on at least x86

--
    [junit] Testcase: testContentEquals took 0.087 sec
    [junit]     Caused an ERROR
    [junit] null
    [junit] java.lang.NullPointerException
    [junit]    at
org.codehaus.plexus.util.FileUtils.copyURLToFile(FileUtils.java:955)
    [junit]    at
org.codehaus.plexus.util.FileUtilsTest.testContentEquals(FileUtilsTest.java:172)


BUILD FAILED
/builddir/build/BUILD/plexus-utils-1.2/build.xml:45: Test
org.codehaus.plexus.util.FileUtilsTest failed
--

?? * BuildRequires are proper
 - builds in mock will flush out problems here
 - the following packages don't need to be listed in BuildRequires:
   bash
   bzip2
   coreutils
   cpio
   diffutils
   fedora-release (and/or redhat-release)
   gcc
   gcc-c++
   gzip
   make
   patch
   perl
   redhat-rpm-config
   rpm-build
   sed
   tar
   unzip
   which
OK * summary should be a short and concise description of the package
OK * description expands upon summary (don't include installation
instructions)
OK * make sure lines are <= 80 characters
OK * specfile written in American English
OK * make a -doc sub-package if necessary
 - see
  
http://fedoraproject.org/wiki/Packaging/Guidelines#head-9bbfa57478f0460c6160947a6bf795249488182b
NA * packages including libraries should exclude static libraries if possible
OK * don't use rpath
NA * config files should usually be marked with %config(noreplace)
NA * GUI apps should contain .desktop files
NA * should the package contain a -devel sub-package?
NO * use macros appropriately and consistently
 - ie. %{buildroot} and %{optflags} vs. $RPM_BUILD_ROOT and $RPM_OPT_FLAGS

--
...
%install
rm -rf $RPM_BUILD_ROOT
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/plexus
...
--

OK * don't use %makeinstall
NA * locale data handling correct (find_lang)
 - if translations included, add BR: gettext and use %find_lang %{name} at the
   end of %install
OK * consider using cp -p to preserve timestamps
NA * split Requires(pre,post) into two separate lines
OK * package should probably not be relocatable
OK * package contains code
 - see http://fedoraproject.org/wiki/Packaging/Guidelines#CodeVsContent
 - in general, there should be no offensive content
OK * package should own all directories and files
OK * there should be no %files duplicates
OK * file permissions should be okay; %defattrs should be present
OK * %clean should be present
OK * %doc files should not affect runtime
NA * if it is a web apps, it should be in /usr/share/%{name} and *not* /var/www
?? * verify the final provides and requires of the binary RPMs
?? * run rpmlint on the binary RPMs

SHOULD:
NO * package should include license text in the package and mark it with %doc
?? * package should build on i386
NO * package should build in mock

--
    [junit] Testcase: testContentEquals took 0.087 sec
    [junit]     Caused an ERROR
    [junit] null
    [junit] java.lang.NullPointerException
    [junit]    at
org.codehaus.plexus.util.FileUtils.copyURLToFile(FileUtils.java:955)
    [junit]    at
org.codehaus.plexus.util.FileUtilsTest.testContentEquals(FileUtilsTest.java:172)


BUILD FAILED
/builddir/build/BUILD/plexus-utils-1.2/build.xml:45: Test
org.codehaus.plexus.util.FileUtilsTest failed
--



Comment 2 Deepak Bhole 2007-02-13 01:16:35 UTC
New files are here:

http://people.redhat.com/dbhole/fedora/plexus-utils/

I have disable two test files, both of which are explained in the spec file.
Package does not have a license file in it, so it will not be installed.

Comment 3 Nuno Santos 2007-02-13 19:31:49 UTC
Looks good to me, only thing I noticed is that the license file is still missing:
" NO * license text included in package and marked with %doc "


Comment 4 Deepak Bhole 2007-02-13 19:35:23 UTC
That is fine. The license needs to be in the file only if the tarball includes
it. In this case, it doesn't.

Please mark fedora-review+  if you are satisfied with the srpm/spec in it's
current state.

Comment 5 Matt Wringe 2007-03-02 22:54:03 UTC
New Package CVS Request
=======================
Package Name: plexus-utils
Short Description: Plexus Common Utilities
Owners: mwringe 
Branches: 
InitialCC: 

Comment 6 Dennis Gilmore 2007-03-02 23:09:29 UTC
does this need or not need cvs admin attention?


Comment 7 Matt Wringe 2007-03-02 23:50:26 UTC
(In reply to comment #6)
> does this need or not need cvs admin attention?

Hmm, I might have been given some bad information. I tried to upload this myself
but it only halfed worked (it fails halfway through, so I now have an empty
devel directory).

So I guess only cvs admins can upload new projects? 



Comment 8 Dennis Gilmore 2007-03-09 02:21:03 UTC
Fixed