Bug 232555

Summary: Review Request: xml-commons-apis - APIs for DOM, SAX, and JAXP
Product: [Fedora] Fedora Reporter: Matt Wringe <mwringe>
Component: Package ReviewAssignee: Permaine Cheung <pcheung>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jlaska
Target Milestone: ---Flags: pcheung: fedora-review+
jlaska: 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-07-09 15:17: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 Matt Wringe 2007-03-16 02:55:58 UTC
Spec URL: https://mwringe.108.redhat.com/files/documents/175/306/xml-commons-apis.spec
SRPM URL: https://mwringe.108.redhat.com/files/documents/175/307/xml-commons-apis-1.3.03-0jpp.1.src.rpm
Description: 
xml-commons-apis is designed to organize and have common packaging for
the various externally-defined standard interfaces for XML. This
includes the DOM, SAX, and JAXP. 

NOTE: this package contains the apis component of the xml-commons package currently in core. The xml-commons package needs to be split due to its srpm containing sources for both xml-commons-apis and xml-commons-which.

Comment 2 Permaine Cheung 2007-03-16 15:50:19 UTC
Please fix items marked by X:
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)
 - the tar command to create src tar ball should be tar czf stead of xzf
 - md5sum doesn't match, but diff -r shows contents are the same

 - 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
* 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)
X license text included in package and marked with %doc
 - should the external/LICENSE.dom-software.txt marked as %doc as well?
* 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
W: xml-commons-apis non-standard-group Text Processing/Markup/XML
W: xml-commons-apis invalid-license Apache Software License/W3C/Public Domain

* 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)
X specfile is legible
 - is 0jpp the correct release?
 - just to be consistent, please add epoch in the Provides: jaxp = 1.3 (since
    you have that in the other Provides & Obsoletes.
* 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
final provides and requires of the mock built binary RPMs:
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --provides
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-1.3.03-0jpp.1.fc7.x86_64.rpm
jaxp = 1.3
xml-commons = 0:1.3.03-0jpp.1.fc7
xml-commons-apis-1.3.03.jar.so()(64bit)
xml-commons-jaxp-1.3-apis = 0:1.3.03-0jpp.1.fc7
xml-commons-apis = 0:1.3.03-0jpp.1.fc7
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --provides
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-debuginfo-1.3.03-0jpp.1.fc7.x86_64.rpm
xml-commons-apis-1.3.03.jar.so.debug()(64bit)
xml-commons-apis-debuginfo = 0:1.3.03-0jpp.1.fc7
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --provides 
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-javadoc-1.3.03-0jpp.1.fc7.x86_64.rpm
xml-commons-apis-1.3.03.jar.so()(64bit)
xml-commons-apis-javadoc = 0:1.3.03-0jpp.1.fc7
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --provides 
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-manual-1.3.03-0jpp.1.fc7.x86_64.rpm
xml-commons-apis-1.3.03.jar.so()(64bit)
xml-commons-apis-manual = 0:1.3.03-0jpp.1.fc7
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-1.3.03-0jpp.1.fc7.x86_64.rpm
/bin/sh
/bin/sh
java-gcj-compat
java-gcj-compat
jpackage-utils >= 0:1.5
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libdl.so.2()(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libgcj_bc.so.1()(64bit)
libm.so.6()(64bit)
libpthread.so.0()(64bit)
librt.so.1()(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rtld(GNU_HASH)
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-debuginfo-1.3.03-0jpp.1.fc7.x86_64.rpm
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-javadoc-1.3.03-0jpp.1.fc7.x86_64.rpm
/bin/ln
/bin/rm
/bin/rm
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libdl.so.2()(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libgcj_bc.so.1()(64bit)
libm.so.6()(64bit)
libpthread.so.0()(64bit)
librt.so.1()(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
[pcheung@to-fcjpp1 bsf-2.3.0]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/xml-commons-apis-manual-1.3.03-0jpp.1.fc7.x86_64.rpm
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libdl.so.2()(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libgcj_bc.so.1()(64bit)
libm.so.6()(64bit)
libpthread.so.0()(64bit)
librt.so.1()(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)


* run rpmlint on the binary RPMs
rpmlint on mock built rpms:
W: xml-commons-apis non-standard-group Text Processing/Markup/XML
W: xml-commons-apis invalid-license Apache Software License/W3C/Public Domain
W: xml-commons-apis-debuginfo invalid-license Apache Software License/W3C/Public
Domain
W: xml-commons-apis-javadoc non-standard-group Development/Documentation
W: xml-commons-apis-javadoc invalid-license Apache Software License/W3C/Public
Domain
W: xml-commons-apis-manual non-standard-group Text Processing/Markup/XML
W: xml-commons-apis-manual invalid-license Apache Software License/W3C/Public Domain


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



Comment 3 Matt Wringe 2007-03-16 16:11:05 UTC
(In reply to comment #2)
> ...
> * specfile name matches %{name}
> X verify source and patches (md5sum matches upstream, know what the patches do)
>  - the tar command to create src tar ball should be tar czf stead of xzf
>  - md5sum doesn't match, but diff -r shows contents are the same
oops, fixed the instruction to be czf instead of xzf. md5sums will not match on
checkouts since the folders will have different time stamps.

>  ...
>    %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
> * if %{?dist} is used, it should be in that form (note the ? and %
> locations)
> X license text included in package and marked with %doc
>  - should the external/LICENSE.dom-software.txt marked as %doc as well?
Yes, it should have been, its now added
> * 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
> W: xml-commons-apis non-standard-group Text Processing/Markup/XML
> W: xml-commons-apis invalid-license Apache Software License/W3C/Public Domain
> 
> 
> * if possible, replace PreReq with Requires(pre) and/or Requires(post)
> X specfile is legible
>  - is 0jpp the correct release?
yes, since this package is updated in fedora before its updated in jpp, 0jpp
must be used so that future version (1jpp, 2jpp, ..) will continue to function
properly.

>  - just to be consistent, please add epoch in the Provides: jaxp = 1.3 (since
>     you have that in the other Provides & Obsoletes.
jaxp is not a package, its a specification. So its only 1.3

>...

New Files:
https://mwringe.108.redhat.com/files/documents/175/314/xml-commons-apis.spec
https://mwringe.108.redhat.com/files/documents/175/315/xml-commons-apis-1.3.03-0jpp.1.src.rpm





Comment 4 Permaine Cheung 2007-03-16 20:11:42 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > ...
> > * specfile name matches %{name}
> > X verify source and patches (md5sum matches upstream, know what the patches do)
> >  - the tar command to create src tar ball should be tar czf stead of xzf
> >  - md5sum doesn't match, but diff -r shows contents are the same
> oops, fixed the instruction to be czf instead of xzf. md5sums will not match on
> checkouts since the folders will have different time stamps.
Great!
> 
> >  ...
> >    %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
> > * if %{?dist} is used, it should be in that form (note the ? and %
> > locations)
> > X license text included in package and marked with %doc
> >  - should the external/LICENSE.dom-software.txt marked as %doc as well?
> Yes, it should have been, its now added
Great!
> > * 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
> > W: xml-commons-apis non-standard-group Text Processing/Markup/XML
> > W: xml-commons-apis invalid-license Apache Software License/W3C/Public Domain
> > 
> > 
> > * if possible, replace PreReq with Requires(pre) and/or Requires(post)
> > X specfile is legible
> >  - is 0jpp the correct release?
> yes, since this package is updated in fedora before its updated in jpp, 0jpp
> must be used so that future version (1jpp, 2jpp, ..) will continue to function
> properly.
> 
OK
> >  - just to be consistent, please add epoch in the Provides: jaxp = 1.3 (since
> >     you have that in the other Provides & Obsoletes.
> jaxp is not a package, its a specification. So its only 1.3
> 
OK
> >...
> 
> New Files:
> https://mwringe.108.redhat.com/files/documents/175/314/xml-commons-apis.spec
>
https://mwringe.108.redhat.com/files/documents/175/315/xml-commons-apis-1.3.03-0jpp.1.src.rpm
> 
> 
> 
> 
Built fine in mock.

APPROVED.


Comment 5 Matt Wringe 2007-03-16 21:01:21 UTC
New Package CVS Request
=======================
Package Name: xml-commons-apis
Short Description: APIs for DOM, SAX and JAXP
Owners: mwringe
Branches: devel



Comment 6 Permaine Cheung 2007-07-06 21:41:20 UTC
Has this been built in plague/koji?

Comment 7 Matt Wringe 2007-07-06 21:46:41 UTC
Yes, this is already in Fedora 7

Comment 8 Permaine Cheung 2007-07-09 15:17:17 UTC
Closing bug report as this is already in F7.

Comment 9 James Laska 2010-07-07 11:58:17 UTC
Package Change Request
======================
Package Name: xml-commons-apis
New Branches: EL-5
Owners:  mbooth

Comment 10 James Laska 2010-07-07 12:04:26 UTC
(In reply to comment #9)
> Package Change Request
> ======================
> Package Name: xml-commons-apis
> New Branches: EL-5
> Owners:  mbooth    

Apologies, this is already in RHEL-5.  Setting fedora-cvs back to +