Fedora Merge Review: bcel http://cvs.fedora.redhat.com/viewcvs/devel/bcel/ Initial Owner: pcheung
Updated spec file and srpm at: https://pcheung.108.redhat.com/files/documents/174/284/bcel.spec https://pcheung.108.redhat.com/files/documents/174/283/bcel-5.1-10jpp.1.src.rpm
links point to an empty file
sorry... don't know what went wrong with the upload, fixed now, please try again.
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 * skim the summary and description for typos, etc. OK * 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 * rpmlint on <this package>.srpm gives no output rpmlint bcel-5.1-10jpp.1.src.rpm W: bcel non-standard-group Development/Libraries/Java OK, the group warning can be ignored * changelog should be in proper format: OK * Packager tag should not be used OK * Vendor tag should not be used OK * 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 OK * package successfully compiles and builds on at least x86 OK * BuildRequires are proper - builds in mock will flush out problems here OK - 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 OK * description expands upon summary (don't include installation instructions) OK * make sure description lines are <= 80 characters OK * specfile written in American English OK * make a -doc sub-package if necessary OK, contains a manual and javadoc subpackages * 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 OK * don't use %makeinstall OK * install section must begin with rm -rf $RPM_BUILD_ROOT or %{buildroot} OK * 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 X one cp missing -p in %build (line 186) * 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 bcel-5.1-10jpp.1.fc7.x86_64.rpm W: bcel non-standard-group Development/Libraries/Java OK, group warnings can be ignored rpmlint bcel-demo-5.1-10jpp.1.fc7.x86_64.rpm W: bcel-demo non-standard-group Development/Libraries/Java W: bcel-demo no-documentation X should there be any documentation for this? rpmlint bcel-javadoc-5.1-10jpp.1.fc7.x86_64.rpm W: bcel-javadoc non-standard-group Development/Documentation OK rpmlint bcel-manual-5.1-10jpp.1.fc7.x86_64.rpm W: bcel-manual non-standard-group Development/Libraries/Java OK rpmlint bcel-debuginfo-5.1-10jpp.1.fc7.x86_64.rpm OK 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
(In reply to comment #4) > * consider using cp -p to preserve timestamps > X one cp missing -p in %build (line 186) Fixed > rpmlint bcel-demo-5.1-10jpp.1.fc7.x86_64.rpm > W: bcel-demo non-standard-group Development/Libraries/Java > W: bcel-demo no-documentation > X should there be any documentation for this? There's a README in examples/Mini, so I marked that with %doc New spec file and srpm at the same location.
* The examples/Mini README probably shouldn't be marked as a %doc as it makes more sense to just leave it in the Mini directory. * The demo package probably shouldn't install things to %{_datadir}/%{name}-%{version} but to %{_datadir}/%{name}-%{version}/demo * It seems strange that the demo package doesn't have any documentation describing what the classes do and how to build them. But I guess the sources don't have this information either * The build file for the demo package is the build.xml for the whole project. Perhaps this should be included in the demo package (or maybe a subset that would only build the demos?) * The manual subpackage just has the license file in there, there should be more to the manual than this. maybe the manual only gets built if using maven?
(In reply to comment #6) > * The examples/Mini README probably shouldn't be marked as a %doc as it makes > more sense to just leave it in the Mini directory. Done > * The demo package probably shouldn't install things to > %{_datadir}/%{name}-%{version} but to %{_datadir}/%{name}-%{version}/demo Fixed > * It seems strange that the demo package doesn't have any documentation > describing what the classes do and how to build them. But I guess the sources > don't have this information either Yeah, the upstream sources don't have any documentation either. > * The build file for the demo package is the build.xml for the whole project. > Perhaps this should be included in the demo package (or maybe a subset that > would only build the demos?) I've made the main package a Requires: for the demo package > * The manual subpackage just has the license file in there, there should be more > to the manual than this. maybe the manual only gets built if using maven? The docs/* stuff are built but doesn't get included in the package, I copied the LICENCE.txt to %{_docdir}/%{name}-%{version}, so that the docs/* stays in the package. New spec file and srpm at the same location.
(In reply to comment #7) > (In reply to comment #6) > > * The examples/Mini README probably shouldn't be marked as a %doc as it makes > > more sense to just leave it in the Mini directory. > Done > > * The demo package probably shouldn't install things to > > %{_datadir}/%{name}-%{version} but to %{_datadir}/%{name}-%{version}/demo > Fixed > > * It seems strange that the demo package doesn't have any documentation > > describing what the classes do and how to build them. But I guess the sources > > don't have this information either > Yeah, the upstream sources don't have any documentation either. > > * The build file for the demo package is the build.xml for the whole project. > > Perhaps this should be included in the demo package (or maybe a subset that > > would only build the demos?) > I've made the main package a Requires: for the demo package Yes, but the main pacakage doesn't include the build.xml (and shouldn't). The problem is that build scripts for the demos are in the main build.xml. So without the build.xml there is no way to know how to build and run the demos. But the build.xml also contains how to build the main package, so just including the build.xml as is will probably not be the best idea. I would suggest either creating a new demo build.xml file (it looks to just be a simple copy and paste from the original build.xml) or to remove the demo subpackage (it doesn't make sense to include a demo package that is just source files without documentation or build scripts). > > * The manual subpackage just has the license file in there, there should be more > > to the manual than this. maybe the manual only gets built if using maven? > The docs/* stuff are built but doesn't get included in the package, I copied the > LICENCE.txt to %{_docdir}/%{name}-%{version}, so that the docs/* stays in the > package. > > > New spec file and srpm at the same location.
I don't think the demo package missing a doc should really be a blocker, but this really needs to be added at some point (please add a TODO in the spec file). APPROVED
TODO added in the spec file. Package built in brew.