Bug 227065 - Review Request: jakarta-commons-net-1.4.1-1jpp - Jakarta Commons Net Package
Summary: Review Request: jakarta-commons-net-1.4.1-1jpp - Jakarta Commons Net Package
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Permaine Cheung
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-02-02 17:39 UTC by Rafael H. Schloming
Modified: 2014-12-01 23:13 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-03-12 21:49:52 UTC
Type: ---
Embargoed:
pcheung: fedora-review+
jwboyer: fedora-cvs+


Attachments (Terms of Use)

Description Rafael H. Schloming 2007-02-02 17:39:05 UTC
Spec URL: http://people.redhat.com/rafaels/specs/jakarta-commons-net-1.4.1-1jpp.spec
SRPM URL: ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/SRPMS.free/jakarta-commons-net-1.4.1-1jpp.src.rpm
Description: This is an Internet protocol suite Java library originally developed by
ORO, Inc.  This version supports Finger, Whois, TFTP, Telnet, POP3, FTP,
NNTP, SMTP, and some miscellaneous protocols like Time and Echo as well
as BSD R command support. The purpose of the library is to provide
fundamental protocol access, not higher-level abstractions.

Javadoc for jakarta-commons-net.

Documents for jakarta-commons-net.

Comment 2 Permaine Cheung 2007-02-16 04:53:11 UTC
I'll take this one.

Comment 3 Permaine Cheung 2007-02-16 05:27:15 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
* 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
* license field matches the actual license.
* license is open source-compatible.
 - use acronyms for licences where common
* specfile name matches %{name}
X 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
I'm getting different md5sum for commons-build.tar.gz, the one in srpm gives:
6854865ce0272a28261d4dc575595390, the one i created from svn co gives:
673883662fdb86bd361e9876e90196e5
* skim the summary and description for typos, etc.
* correct buildroot
 - should be:
   %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
* if %{?dist} is used, it should be in that form (note the ? and %
locations)
* license text included in package and marked with %doc
* keep old changelog entries; use judgement when removing (too old?
useless?)
* packages meets FHS (http://www.pathname.com/fhs/)
* rpmlint on <this package>.srpm gives no output
 - justify warnings if you think they shouldn't be there
* 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.
 
* Packager tag should not be used
* Vendor tag should not be used
* Distribution tag should not be used
* use License and not Copyright
* Summary tag should not end in a period
* if possible, replace PreReq with Requires(pre) and/or Requires(post)
* specfile is legible
* package successfully compiles and builds on at least x86
* 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
* summary should be a short and concise description of the package
* description expands upon summary (don't include installation
instructions)
* make sure lines are <= 80 characters
* specfile written in American English
* make a -doc sub-package if necessary
 - see
  
http://fedoraproject.org/wiki/Packaging/Guidelines#head-9bbfa57478f0460c6160947a6bf795249488182b
* 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
* split Requires(pre,post) into two separate lines
* 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
* package should own all directories and files
* there should be no %files duplicates
* file permissions should be okay; %defattrs should be present
* %clean should be present
* %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
will do this when i can build this in mock.
* run rpmlint on the binary RPMs
W: jakarta-commons-net non-standard-group Development/Libraries/Java
W: jakarta-commons-net non-standard-group Development/Libraries/Java

SHOULD:
* package should include license text in the package and mark it with %doc
* package should build on i386
Built in i386
* package should build in mock
will build in mock when all BRs are there.


Comment 4 Deepak Bhole 2007-02-16 05:44:08 UTC
The md5s for the commons-build.tar.gz may differ due to different
ownership/time/etc. If md5's don't match, comparison of sources is considered
valid afaik.

To compare sources, check out from svn, rename to commons-build.svn, then
extract from commons-build.tar.gz and do:

diff -cr commons-build commons-build.svn

There should be no differences...


Comment 5 Permaine Cheung 2007-02-16 15:59:30 UTC
Great! Did the diff -cr on the sources, and they match.

Built it in mock successfully, here's the rpmlint output on mock built rpms:
[pcheung@to-fcjpp1 tmp]$ rpmlint
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-net-*
W: jakarta-commons-net non-standard-group Development/Libraries/Java
W: jakarta-commons-net non-standard-group Development/Libraries/Java

Requires and Provides:
[pcheung@to-fcjpp1 tmp]$ rpm -qp --provides
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-net-1.4.1-2jpp.1.fc7.noarch.rpm
commons-net = 0:1.4.1-2jpp.1.fc7
jakarta-commons-net = 0:1.4.1-2jpp.1.fc7
[pcheung@to-fcjpp1 tmp]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-net-1.4.1-2jpp.1.fc7.noarch.rpm
java
jpackage-utils >= 0:1.6
oro >= 2.0.7
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
[pcheung@to-fcjpp1 tmp]$ rpm -qp --provides
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-net-javadoc-1.4.1-2jpp.1.fc7.noarch.rpm
jakarta-commons-net-javadoc = 0:1.4.1-2jpp.1.fc7
[pcheung@to-fcjpp1 tmp]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-net-javadoc-1.4.1-2jpp.1.fc7.noarch.rpm

rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1


APPROVED.

Reassigning to myself as I need to build it in plague.

Comment 6 Permaine Cheung 2007-03-05 17:05:23 UTC
New Package CVS Request
=======================
Package Name: jakarta-commons-net
Short Description: Internet protocol suite Java library
Owners: pcheung
Branches: 
InitialCC: 

Comment 7 Permaine Cheung 2007-03-12 21:49:52 UTC
Package built into plague. Closing as NEXTRELEASE.


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