Bug 225927

Summary: Merge Review: jakarta-commons-discovery
Product: [Fedora] Fedora Reporter: Nobody's working on this, feel free to take it <nobody>
Component: Package ReviewAssignee: Permaine Cheung <pcheung>
Status: CLOSED RAWHIDE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: mwringe
Target Milestone: ---Flags: pcheung: 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-07-06 21:38:32 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:12 UTC
Fedora Merge Review: jakarta-commons-discovery

http://cvs.fedora.redhat.com/viewcvs/devel/jakarta-commons-discovery/
Initial Owner: mwringe

Comment 2 Permaine Cheung 2007-03-27 15:59:16 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}
* 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
* 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 README.txt, RELEASE-NOTES.txt be 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: jakarta-commons-discovery non-standard-group Development/Libraries/Java -
this is OK
* changelog are OK
* 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
 - this is largely subjective; use your judgement
* 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 this can be built in mock
* run rpmlint on the binary RPMs
will do this when this can be built in mock

SHOULD:
* package should include license text in the package and mark it with %doc
* package should build on i386
* package should build in mock
It doesn't build in mock currently:
javadoc:
    [mkdir] Created dir: /builddir/build/BUILD/commons-discovery-0.4-src/dist
    [mkdir] Created dir: /builddir/build/BUILD/commons-discovery-0.4-src/dist/docs
    [mkdir] Created dir:
/builddir/build/BUILD/commons-discovery-0.4-src/dist/docs/api
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Unknown option: -
  [javadoc] Parsing
/builddir/build/BUILD/commons-discovery-0.4-src/src/java/org/apache/commons/discovery/ResourceNameIterator.java
....
  [javadoc] 1 error.

and when copying the files over, it fails with:
+ mkdir -p
/var/tmp/jakarta-commons-discovery-0.4-2jpp.1.fc7-root-mockbuild/usr/share/javadoc/jakarta-commons-discovery-0.4
+ cp -pr 'dist/docs/api/*'
/var/tmp/jakarta-commons-discovery-0.4-2jpp.1.fc7-root-mockbuild/usr/share/javadoc/jakarta-commons-discovery-0.4
cp: cannot stat `dist/docs/api/*': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.1025 (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.1025 (%install)


Comment 3 Matt Wringe 2007-04-04 22:23:41 UTC
(In reply to comment #2)
> 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}
> * 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
> * 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
Fixed
> - should the README.txt, RELEASE-NOTES.txt be 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: jakarta-commons-discovery non-standard-group Development/Libraries/Java -
> this is OK
> * changelog are OK
> * 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
>  - this is largely subjective; use your judgement
> * 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 this can be built in mock
> * run rpmlint on the binary RPMs
> will do this when this can be built in mock
> 
> SHOULD:
> * package should include license text in the package and mark it with %doc
> * package should build on i386
> * package should build in mock
> It doesn't build in mock currently:
> javadoc:
>     [mkdir] Created dir: /builddir/build/BUILD/commons-discovery-0.4-src/dist
>     [mkdir] Created dir: /builddir/build/BUILD/commons-discovery-0.4-src/dist/docs
>     [mkdir] Created dir:
> /builddir/build/BUILD/commons-discovery-0.4-src/dist/docs/api
>   [javadoc] Generating Javadoc
>   [javadoc] Javadoc execution
>   [javadoc] Unknown option: -
>   [javadoc] Parsing
>
/builddir/build/BUILD/commons-discovery-0.4-src/src/java/org/apache/commons/discovery/ResourceNameIterator.java
> ....
>   [javadoc] 1 error.
> 
> and when copying the files over, it fails with:
> + mkdir -p
>
/var/tmp/jakarta-commons-discovery-0.4-2jpp.1.fc7-root-mockbuild/usr/share/javadoc/jakarta-commons-discovery-0.4
> + cp -pr 'dist/docs/api/*'
>
/var/tmp/jakarta-commons-discovery-0.4-2jpp.1.fc7-root-mockbuild/usr/share/javadoc/jakarta-commons-discovery-0.4
> cp: cannot stat `dist/docs/api/*': No such file or directory
> error: Bad exit status from /var/tmp/rpm-tmp.1025 (%install)
> 
> 
> RPM build errors:
>     Bad exit status from /var/tmp/rpm-tmp.1025 (%install)
> 

srpm that will actually build properly:
https://mwringe.108.redhat.com/files/documents/175/335/jakarta-commons-discovery-0.4-2jpp.1.src.rpm

Comment 4 Matt Wringe 2007-04-05 16:05:30 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > ..
> > X license text included in package and marked with %doc
> Fixed
> > - should the README.txt, RELEASE-NOTES.txt be marked as %doc as well?
> > * keep old changelog entries; use judgement when removing (too old?
> > useless?)

The README file just explain how the manifest file is used during building, this
is something that shouldn't be included in the %doc section.

I don't see a RELEASE-NOTES.txt 

Comment 5 Matt Wringe 2007-04-05 16:14:52 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > ..
> > > X license text included in package and marked with %doc
> > Fixed
> > > - should the README.txt, RELEASE-NOTES.txt be marked as %doc as well?
> > > * keep old changelog entries; use judgement when removing (too old?
> > > useless?)
> 
> The README file just explain how the manifest file is used during building, this
> is something that shouldn't be included in the %doc section.
> 
> I don't see a RELEASE-NOTES.txt 
Oops, I see that now.

I have updated the srpm in the same location



Comment 6 Permaine Cheung 2007-04-09 14:59:51 UTC
* verify the final provides and requires of the binary RPMs:
[pcheung@to-fcjpp1 brew]$ rpm -qp --provides
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-discovery-0.4-2jpp.1.fc7.x86_64.rpm
jakarta-commons-discovery-0.4.jar.so()(64bit)
jakarta-commons-discovery = 1:0.4-2jpp.1.fc7
[pcheung@to-fcjpp1 brew]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-discovery-0.4-2jpp.1.fc7.x86_64.rpm
/bin/sh
/bin/sh
jakarta-commons-logging >= 0:1.0.4
java-gcj-compat
java-gcj-compat
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 brew]$ rpm -qp --provides
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-discovery-debuginfo-0.4-2jpp.1.fc7.x86_64.rpm
jakarta-commons-discovery-0.4.jar.so.debug()(64bit)
jakarta-commons-discovery-debuginfo = 1:0.4-2jpp.1.fc7
[pcheung@to-fcjpp1 brew]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-discovery-debuginfo-0.4-2jpp.1.fc7.x86_64.rpm
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
[pcheung@to-fcjpp1 brew]$ rpm -qp --provides
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-discovery-javadoc-0.4-2jpp.1.fc7.x86_64.rpm
jakarta-commons-discovery-javadoc = 1:0.4-2jpp.1.fc7
[pcheung@to-fcjpp1 brew]$ rpm -qp --requires
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-discovery-javadoc-0.4-2jpp.1.fc7.x86_64.rpm
/bin/ln
/bin/rm
/bin/rm
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1

* run rpmlint on the binary RPMs:
[pcheung@to-fcjpp1 brew]$ rpmlint
/var/lib/mock/fedora-development-x86_64-core-pcheung/result/jakarta-commons-discovery*rpm
W: jakarta-commons-discovery non-standard-group Development/Libraries/Java
W: jakarta-commons-discovery-javadoc non-standard-group Development/Documentation
These are OK

All looks good. APPROVED.


Comment 7 Permaine Cheung 2007-04-09 15:01:09 UTC
Marking fedora-review flag accordingly

Comment 8 Matt Wringe 2007-04-26 00:58:11 UTC
Built into Brew

Comment 9 Permaine Cheung 2007-07-06 21:38:32 UTC
Closing bug report