Bug 227112

Summary: Review Request: relaxngDatatype-1.0-3jpp - RELAX NG Datatype API
Product: [Fedora] Fedora Reporter: Rafael H. Schloming <rafaels>
Component: Package ReviewAssignee: Nuno Santos <nsantos>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: aortega, orion, tross
Target Milestone: ---Flags: nsantos: fedora-review+
wtogami: 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-04-12 15:24:28 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:56:38 UTC
Spec URL: http://people.redhat.com/rafaels/specs/relaxngDatatype-1.0-3jpp.spec
SRPM URL: ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/SRPMS.free/relaxngDatatype-1.0-3jpp.src.rpm
Description: RELAX NG Datatype API

Javadoc for relaxngDatatype.

Comment 1 Nuno Santos 2007-02-12 20:11:54 UTC
relagxngDatatype-1.0-3jpp.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.
OK * correct buildroot
 - should be:
   %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
NA * 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/)
NO * rpmlint on <this package>.srpm gives no output
 - justify warnings if you think they shouldn't be there

--
$ rpmlint relaxngDatatype-1.0-3jpp.src.rpm 
W: relaxngDatatype non-standard-group Development/Libraries/Java
E: relaxngDatatype unknown-key GPG#c431416d
W: relaxngDatatype unversioned-explicit-obsoletes msv
W: relaxngDatatype mixed-use-of-spaces-and-tabs (spaces: line 9, tab: line 50)
--

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
OK * if possible, replace PreReq with Requires(pre) and/or Requires(post)
OK * specfile is legible
 - this is largely subjective; use your judgement
OK * package successfully compiles and builds on at least x86
OK * 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
NO * description expands upon summary (don't include installation
instructions)

--
%description
%{summary}
--

OK * make sure lines are <= 80 characters
OK * specfile written in American English
NA * 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 -Dpm 644 %{name}.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
...
--

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
OK * verify the final provides and requires of the binary RPMs
NO * run rpmlint on the binary RPMs

--
$ rpmlint relaxngDatatype-1.0-3jpp.noarch.rpm 
W: relaxngDatatype non-standard-group Development/Libraries/Java
E: relaxngDatatype obsolete-not-provided msv
W: relaxngDatatype wrong-file-end-of-line-encoding
/usr/share/doc/relaxngDatatype-1.0/copying.txt
--

SHOULD:
OK * 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


Comment 2 Andrew Overholt 2007-02-12 23:27:20 UTC
Updated spec and SRPM here:

http://overholt.ca/fedora/relaxngDatatype.spec
http://overholt.ca/fedora/relaxngDatatype-1.0-3jpp.1.src.rpm

(In reply to comment #1)
> ?? * is it legal for Fedora to distribute this?
> ?? - OSI-approved

It's BSD licensed so it's fine.

> ?? * verify source and patches (md5sum matches upstream, know what the patches do)

I've verified that the upstream zip matches the one in the SRPM.

> NA * if %{?dist} is used, it should be in that form

We should use %{?dist}.  I've fixed this.

> NO * rpmlint on <this package>.srpm gives no output
> $ rpmlint relaxngDatatype-1.0-3jpp.src.rpm 
> W: relaxngDatatype non-standard-group Development/Libraries/Java

This is fine.

> E: relaxngDatatype unknown-key GPG#c431416d

This is just the JPackage GPG key.

> W: relaxngDatatype unversioned-explicit-obsoletes msv

I've added a <= %{version}.

> W: relaxngDatatype mixed-use-of-spaces-and-tabs (spaces: line 9, tab: line 50)

I fixed this.

> NO * Vendor tag should not be used

Fixed.  Removed Distribution as well.

> NO * description expands upon summary

Fixed.

> NO * use macros appropriately and consistently
> %install
> rm -rf $RPM_BUILD_ROOT
> install -Dpm 644 %{name}.jar \
>   $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar

I think this is fine.

> NO * run rpmlint on the binary RPMs
> 
> $ rpmlint relaxngDatatype-1.0-3jpp.noarch.rpm 
> W: relaxngDatatype non-standard-group Development/Libraries/Java

This is fine.

> E: relaxngDatatype obsolete-not-provided msv

See above.

> W: relaxngDatatype wrong-file-end-of-line-encoding
> /usr/share/doc/relaxngDatatype-1.0/copying.txt

Fixed.  I also fixed it for the javadoc-generated HTML files and added a patch
to compress the jar to supress an rpmlint warning.

This package should be gcj-ified at some point.

Comment 3 Andrew Overholt 2007-02-13 15:31:25 UTC
I changed the use of dos2unix to sed -i 's/\r//g'.

Updated spec and SRPM:

http://overholt.ca/fedora/relaxngDatatype.spec
http://overholt.ca/fedora/relaxngDatatype-1.0-3jpp.1.src.rpm

Comment 5 Nuno Santos 2007-02-21 21:20:32 UTC
Marking fedora-review+

Comment 6 Nuno Santos 2007-02-21 21:24:35 UTC
New Package CVS Request
=======================
Package Name: relaxngDatatype-1.0-3jpp
Short Description: RELAX NG Datatype API
Owners: nsantos
Branches: FC-7
InitialCC: rafaels,dbhole

Comment 7 Orion Poplawski 2010-01-08 16:28:34 UTC
This builds on EL-5, could we get a branch there?