Bug 225930

Summary: Merge Review: jakarta-commons-httpclient
Product: [Fedora] Fedora Reporter: Nobody's working on this, feel free to take it <nobody>
Component: Package ReviewAssignee: Matt Wringe <mwringe>
Status: CLOSED RAWHIDE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: pcheung
Target Milestone: ---Flags: mwringe: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-04-05 18:45:19 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 Nobody's working on this, feel free to take it 2007-01-31 19:09:20 UTC
Fedora Merge Review: jakarta-commons-httpclient

http://cvs.fedora.redhat.com/viewcvs/devel/jakarta-commons-httpclient/
Initial Owner: pcheung

Comment 2 Matt Wringe 2007-03-16 15:37:21 UTC
MUST:
* package is named appropriately
 - match upstream tarball or project name
 - try to match previous incarnations in other distributions/packagers for
consistency
 - specfile should be %{name}.spec
 - non-numeric characters should only be used in Release (ie. cvs or
   something)
 - for non-numerics (pre-release, CVS snapshots, etc.), see
   http://fedoraproject.org/wiki/Packaging/NamingGuidelines#PackageRelease
 - 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
OK
* is it legal for Fedora to distribute this?
 - OSI-approved
 - not a kernel module
 - not shareware
 - is it covered by patents?
 - it *probably* shouldn't be an emulator
 - no binary firmware
OK
* license field matches the actual license.
OK
* license is open source-compatible.
 - use acronyms for licences where common
OK
* specfile name matches %{name}
OK
* 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, md5sums match
* skim the summary and description for typos, etc.
* correct buildroot
 - should be:
   %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
OK
* if %{?dist} is used, it should be in that form (note the ? and %
locations)
OK
* 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/)
OK, jars, javadocs and docs are being installed to the proper locations
* rpmlint on <this package>.srpm gives no output
 - justify warnings if you think they shouldn't be there

rpmlint jakarta-commons-httpclient-3.0.1-1jpp.1.src.rpm
W: jakarta-commons-httpclient non-standard-group Development/Libraries/Java

Since this is a group warning it can be ignored

* changelog should be in proper format:
OK
* Packager, Vendor and Distribution tag should not be used
OK
* use License and not Copyright 
OK
* Summary tag should not end in a period
OK
* if possible, replace PreReq with Requires(pre) and/or Requires(post)
OK
* specfile is legible
Looks fine to me
* package successfully compiles and builds on at least x86
OK
* BuildRequires are proper
 - builds in mock will flush out problems here
OK, builds in mock
 - 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
* summary should be a short and concise description of the package
X summart is just the name of the package

* description expands upon summary (don't include installation
instructions)
* make sure description lines are <= 80 characters
OK
* specfile written in American English
OK
* make a -doc sub-package if necessary
OK, contains javadoc and subproject

* packages including libraries should exclude static libraries if possible
* don't use rpath
* config files should usually be marked with %config(noreplace)
* GUI apps should contain .desktop files
* should the package contain a -devel sub-package?
* use macros appropriately and consistently
 - ie. %{buildroot} and %{optflags} vs. $RPM_BUILD_ROOT and $RPM_OPT_FLAGS
* don't use %makeinstall
* locale data handling correct (find_lang)
 - if translations included, add BR: gettext and use %find_lang %{name} at the
   end of %install
* consider using cp -p to preserve timestamps
OK
* split Requires(pre,post) into two separate lines
OK
* package should probably not be relocatable
* 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
* 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

rpmlint jakarta-commons-httpclient-3.0.1-1jpp.1.fc7.x86_64.rpm
W: jakarta-commons-httpclient non-standard-group Development/Libraries/Java
OK, this warning can be ignored

rpmlint
/var/lib/mock/fedora-development-x86_64-core-mwringe/result/jakarta-commons-httpclient-javadoc-3.0.1-1jpp.1.fc7.x86_64.rpm
W: jakarta-commons-httpclient-javadoc non-standard-group Development/Documentation
W: jakarta-commons-httpclient-javadoc dangerous-command-in-%post rm
W: jakarta-commons-httpclient-javadoc dangerous-command-in-%postun rm
X the rm should be removed from the javadoc post and postun

rpmlint jakarta-commons-httpclient-demo-3.0.1-1jpp.1.fc7.x86_64.rpm
W: jakarta-commons-httpclient-demo non-standard-group Development/Testing
W: jakarta-commons-httpclient-demo no-documentation
-Since the demo package requires the parent package (which has the licensing
docs), not having documentation for the demo should be ok

rpmlint jakarta-commons-httpclient-manual-3.0.1-1jpp.1.fc7.x86_64.rpm
W: jakarta-commons-httpclient-manual non-standard-group Development/Documentation
W: jakarta-commons-httpclient-manual dangling-symlink
/usr/share/doc/jakarta-commons-httpclient-manual-3.0.1/apidocs
/usr/share/javadoc/jakarta-commons-httpclient
W: jakarta-commons-httpclient-manual symlink-should-be-relative
/usr/share/doc/jakarta-commons-httpclient-manual-3.0.1/apidocs
/usr/share/javadoc/jakarta-commons-httpclient
X can these symlinks be cleaned up?

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


Comment 3 Permaine Cheung 2007-03-16 18:11:07 UTC
(In reply to comment #2)
...
> * summary should be a short and concise description of the package
> X summart is just the name of the package
> 
Fixed

> rpmlint
>
/var/lib/mock/fedora-development-x86_64-core-mwringe/result/jakarta-commons-httpclient-javadoc-3.0.1-1jpp.1.fc7.x86_64.rpm
> W: jakarta-commons-httpclient-javadoc non-standard-group Development/Documentation
> W: jakarta-commons-httpclient-javadoc dangerous-command-in-%post rm
> W: jakarta-commons-httpclient-javadoc dangerous-command-in-%postun rm
> X the rm should be removed from the javadoc post and postun

Done
> 
> rpmlint jakarta-commons-httpclient-manual-3.0.1-1jpp.1.fc7.x86_64.rpm
> W: jakarta-commons-httpclient-manual non-standard-group Development/Documentation
> W: jakarta-commons-httpclient-manual dangling-symlink
> /usr/share/doc/jakarta-commons-httpclient-manual-3.0.1/apidocs
> /usr/share/javadoc/jakarta-commons-httpclient
> W: jakarta-commons-httpclient-manual symlink-should-be-relative
> /usr/share/doc/jakarta-commons-httpclient-manual-3.0.1/apidocs
> /usr/share/javadoc/jakarta-commons-httpclient
> X can these symlinks be cleaned up?
> 
Since there are javadocs and manual subpackage in this package, the symlinks are
needed to point to the apis are in javadocs. Let me know if you think it should
be done in some other way.

Updated spec file in cvs.

Comment 4 Matt Wringe 2007-03-16 20:26:06 UTC
For the symlink warnings, why does the manual sub-package even need to symlink
to the javadocs? Shouldn't the javadoc subproject be enough?

Comment 5 Permaine Cheung 2007-03-16 20:34:22 UTC
They all used to be under the docs directory, and are split up into manual and
javadocs subpackages, I kept the symlink in case there are references to each other.

Comment 6 Matt Wringe 2007-03-16 20:39:03 UTC
Ok, and since the manual requires the javadoc subpackage this should be fine.
Approved.

Comment 7 Permaine Cheung 2007-03-16 21:07:21 UTC
Package built in brew.