Spec URL: http://people.redhat.com/rafaels/specs/qpidrb.spec SRPM URL: http://people.redhat.com/rafaels/srpms/qpidrb-0.1-2rhm.src.rpm Description: Apache Qpid's ruby implementation of AMQP.
qpidrb-0.1-2rhm.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 OK * is it legal for Fedora to distribute this? OK - OSI-approved OK - not a kernel module OK - not shareware OK - 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 * specfile name matches %{name} OK * verify source and patches (md5sum matches upstream, know what the patches do) OK * skim the summary and description for typos, etc. OK * correct buildroot NO * if %{?dist} is used, it should be in that form (note the ? and % locations) -- dist not used -- NO * license text included in package and marked with %doc -- included but not 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 qpidrb-0.1-2rhm.src.rpm W: qpidrb non-standard-group Development/Ruby W: qpidrb no-%build-section (should be ok) -- OK * changelog should be in one of these formats: OK * Packager tag should not be used OK * Vendor tag should not be used OK * use License and not Copyright OK * Summary tag should not end in a period NA * if possible, replace PreReq with Requires(pre) and/or Requires(post) OK * specfile is legible ?? * package successfully compiles and builds on at least x86 ?? * BuildRequires are proper OK * summary should be a short and concise description of the package OK * description expands upon summary (don't include installation instructions) NO * make sure lines are <= 80 characters -- line 10 is longer than 80 chars -- OK * specfile written in American English NA * make a -doc sub-package if necessary 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? OK * use macros appropriately and consistently OK * don't use %makeinstall NA * locale data handling correct (find_lang) NA * 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 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 NA * %doc files should not affect runtime NA * 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 SHOULD: NO * package should include license text in the package and mark it with %doc -- included but not marked with %doc -- ?? * package should build on i386 ?? * package should build in mock
Fixed packages are here: http://people.redhat.com/rafaels/srpms/qpidrb-0.1-2rhm.1.src.rpm http://people.redhat.com/rafaels/specs/qpidrb.spec
Approved
New Package CVS Request ======================= Package Name: qpidrb Short Description: Ruby language client for AMQP Owners: nsantos Branches: devel InitialCC: rafaels,dbhole
This package has a few problems, and should not be imported as-is. In particular, it does not adhere to several of the Fedora ruby guidelines: http://fedoraproject.org/wiki/Packaging/Ruby NO: the package must be named ruby-qpid since it's a plain library NO: the way ruby_sitelib is set is fragile and not as required by the guidelines NO: missing Requires: ruby(abi) = 1.8 NO: missing Provides: ruby(qpid) = %{version} NO: Source points to URL of released tarball Why do you need the 'rhm' in the release tag ? It would be cleaner if the release tag was just '2%{?dist}'
This package will have scripts at some point. Is it still required to be called ruby-qpid if it has both scripts and a library? Should we actually have a ruby-qpid subpackage or something like that?
It would be cleaner if the actual ruby library was split into a ruby-qpid package, especially since that is its main purpose right now. What would the additional scripts do ? An add'l nice-to-have (for ruby programmers, not from a packaging POV) would be the inclusion of a top-level qpid.rb file that requires the files in the qpid/ subdir, so that code using the library can just say 'require "qpid"'
Is a subpackage an appropriate way to do the split or do we need two spec files? The scripts and library stuff will be part of a single source tree. The scripts would provide a command line UI to the management aspects of the AMQP protocol. The svn head has the qpid.rb file you mentioned.
A subpackage would be fine. Just make sure that the subpackage carries the appropriate provdes and requires.
- Package name changes and possible sub-package breakouts are needed. - qpid is not part of any Fedora spin. For these reasons, I recommend that qpidrb and quidpy be removed from Extras devel until they are fixed properly. It is permissible to do such activity within Extras within the next two weeks (possibly more), so don't worry. This review is UNAPPROVED.
May I kindly point out that the binary builds of "qpidpy" and "qpidrb" have not been published in Extras devel, since they contain broken explicit dependencies. Private mail reports about the unresolved dependencies of the packages in the needsign queue have been sent to the package owners.
Those packages should be deleted from the needsign queue.
And they're gone.
Updated packages are here: http://people.redhat.com/rafaels/srpms/ruby-qpid-0.1-1.fc7.src.rpm http://people.redhat.com/rafaels/specs/ruby-qpid.spec
I've reviewed the updated package and I believe it complies with all guidelines, generic and ruby-specific: ruby-qpid-0.1-1.fc7.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 NA - non-numeric characters should only be used in Release (ie. cvs or something) NA - for non-numerics (pre-release, CVS snapshots, etc.), see http://fedoraproject.org/wiki/Packaging/NamingGuidelines#PackageRelease NA - 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? OK - OSI-approved OK - not a kernel module OK - not shareware OK - 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} OK * verify source and patches (md5sum matches upstream, know what the patches do) OK * skim the summary and description for typos, etc. OK * correct buildroot 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 - justify warnings if you think they shouldn't be there -- $ rpmlint ruby-qpid-0.1-1.fc7.src.rpm W: ruby-qpid non-standard-group Development/Ruby (this warning is ok, based on previously approved packages) -- OK * changelog should be in one of these formats: OK * Packager tag should not be used OK * Vendor tag should not be used OK * use License and not Copyright OK * Summary tag should not end in a period NA * 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 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 lines are <= 80 characters OK * specfile written in American English NA * make a -doc sub-package if necessary 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? OK * use macros appropriately and consistently OK * don't use %makeinstall NA * locale data handling correct (find_lang) NA * 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 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 -- $ rpm -qp /usr/src/redhat/RPMS/noarch/ruby-qpid-0.1-1.noarch.rpm --requires amqp rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 ruby ruby(abi) = 1.8 $ rpm -qp /usr/src/redhat/RPMS/noarch/ruby-qpid-0.1-1.noarch.rpm --provides ruby(qpid) = 0.1 ruby-qpid = 0.1-1 -- OK * run rpmlint on the binary RPMs -- $ rpmlint /usr/src/redhat/RPMS/noarch/ruby-qpid-0.1-1.noarch.rpm W: ruby-qpid non-standard-group Development/Ruby (this warning is ok, based on previously approved packages) -- 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 Additional ruby-specific guidelines: OK * package must indicate the Ruby ABI version it depends: -- Requires: ruby Requires: ruby(abi) = 1.8 -- OK * name of a ruby extension/library package must be of the form ruby-UPSTREAM -- ruby-qpid -- OK * a ruby extension/library package must indicate what it provides with a Provides: ruby(LIBRARY) = VERSION declaration in the spec file. -- Provides: ruby(qpid) = %{version} -- OK * Pure Ruby packages must be built as noarch packages. -- BuildArch: noarch -- OK * The Ruby library files in a pure Ruby package must be placed into Config::CONFIG["sitelibdir"] -- %{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} (...) install -dm 755 $RPM_BUILD_ROOT%{ruby_sitelib}/qpid install -pm 644 qpid/*.rb $RPM_BUILD_ROOT%{ruby_sitelib}/qpid -- I'm marking this as APPROVED.
New Package CVS Request ======================= Package Name: ruby-qpid Short Description: Ruby language client for AMQP Owners: rafaels,nsantos Branches: InitialCC: