Bug 617228 - Review Request: rubygem-rack1 -- Common API for connecting web frameworks, web servers and layers of software
Summary: Review Request: rubygem-rack1 -- Common API for connecting web frameworks, w...
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Mark Chappell
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2010-07-22 14:33 UTC by Michael Stahnke
Modified: 2011-04-05 19:29 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-04-05 19:29:22 UTC
Type: ---
tremble: fedora-review?

Attachments (Terms of Use)

Description Michael Stahnke 2010-07-22 14:33:20 UTC
Spec URL: http://stahnma.fedorapeople.org/newrails/rubygem-rack1.spec
SRPM URL: http://stahnma.fedorapeople.org/newrails/rubygem-rack1-1.1.0-1.el5.src.rpm
Rack provides a common API for connecting web frameworks,
web servers and layers of software in between

This is a specific package targeted at EPEL5.  It will fill a need to allow rubygem-sinatra into EPEL, and possibly allow for a parallel version of rails.

Comment 1 Mark Chappell 2010-09-10 20:26:34 UTC
 - = N/A
 / = Check
 ! = Problem
 ? = Not evaluated

 [/] Package is named according to the Package Naming Guidelines.
 [/] Spec file name must match the base package %{name}, in the format
 [/] Package meets the Packaging Guidelines including the Language specific items
 [/] Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     Tested: http://koji.fedoraproject.org/koji/taskinfo?taskID=2460275
 [!] Rpmlint output:

rubygem-rack1.noarch: W: incoherent-version-in-changelog 1.1-1 ['1.1.0-1.el5', '1.1.0-1']
rubygem-rack1.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/rack-1.1.0/ri/Rack/Response/Helpers/include%3f-i.yaml %3f
rubygem-rack1.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/rack-1.1.0/ri/Rack/Request/xhr%3f-i.yaml %3f
rubygem-rack1.noarch: W: no-manual-page-for-binary rackup
rubygem-rack1.src:61: W: macro-in-comment %{gemdir}
rubygem-rack1.src:61: W: macro-in-comment %{_bindir}
2 packages and 0 specfiles checked; 0 errors, 69 warnings.

 [/] Package is not relocatable.
 [/] Buildroot is correct  ( Not needed if >= EL6 and >= F13 )
     Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 [/] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [/] License field in the package spec file matches the actual license. 
     License type: MIT
 [/] If (and only if) the source package includes the text of the license(s) in
its own file, then that file, containing the text of the license(s) for the
package is included in %doc.
 [-] With any Subpackage installed the license must also be installed (this may
belong to another subpackage) 
 [/] Spec file is legible and written in American English.
 [/] Sources used to build the package matches the upstream source, as provided
in the spec URL.
      Both md5sums are f5ff2d6d348f41bb3833847223f792ce
 [/] Package is not known to require ExcludeArch
 [/] All build dependencies are listed in BuildRequires, except for any that
are listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [-] ldconfig called in %post and %postun if required.
 [/] Package must own all directories that it creates.
 [-] Package requires other packages for directories it uses.
 [/] Package does not contain duplicates in %files.
 [/] Permissions on files are set properly.
 [/] Package has a %clean section, which contains rm -fR $RPM_BUILD_ROOT. ( Not
needed if >= EL6 and >= F13 )
 [/] Package consistently uses macros.
 [/] Package contains code, or permissible content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [/] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -static subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [-] Fully versioned dependency in subpackages, if present.
 [-] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
 [/] Package does not own files or directories owned by other packages.

=== Ruby Specific ===
  [/] BuildRequire Ruby (pulled in by BR rubygem)
  [/] Requires: ruby(abi) = ...
  [/] Ruby Gems must be called rubygem-%{gemname}
  [/] The package must have a Requires and a BuildRequires on rubygems
  [/] The package must provide rubygem(%{gemname})
  [/] The %prep and %build sections of the specfile should be empty
  [/] The Gem must be installed into %{gemdir}
      [ %global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) ]
  [/] The install should be performed with the command
      [ gem install --local --install-dir %{buildroot}%{gemdir} --force %{SOURCE0} ]
  [/]The package must own the following files and directories:
     [/] %{gemdir}/gems/%{gemname}-%{version}/
     [/] %{gemdir}/cache/%{gemname}-%{version}.gem
     [/] %{gemdir}/specifications/%{gemname}-%{version}.gemspec
  [-] Architecture-specific content must not be installed into %{gemdir}
  [/] If the Gem only contains pure Ruby code, it must be marked as BuildArch: noarch.
  [-] If the Gem contains binary content (e.g., for a database driver), it must be marked as architecture specific,
    [-] and all architecture specific content must be moved from the %{gemdir} to the
        [#ruby_sitearch %{ruby_sitearch} directory] during %install

 [!] Latest version is packaged.
 [/] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
 [/] Reviewer should test that the package builds in mock.
     Tested through koji
 [/] Package should compile and build into binary rpms on all supported
     Tested on: dist-5E-epel-testing-candidate
 [-] Package functions as described.
 [/] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [/] File based requires are sane.
 [!] %check is present and the tests pass

=== COMMENTS ===

* Not the latest version - I assume this is deliberate
* As mentioned on IRC should be %global rather than %define
* A *lot* of failing tests (by default I'd consider this a blocker...)
* Unexpanded macros is an FP
* incoherent-version-in-changelog - should be 1.1.0 not 1.1
* no-manual-page-for-binary - Not a blocker but a "nice to fix"
* macros in comment, single line macros, not a problem

Comment 2 Michael Stahnke 2010-09-10 21:04:52 UTC
Working on some cleanup.  

* This is the latest version in F13.  Rawhide needs a bump obviously.
* Define to global will be changed. 
* Tests fail even when installing from rubygems.org.  I am not sure why on all of them yet, and will continue to look into it.  There are no new failures in this version, but I understand your concern. 
* Changelog can be gixed. 
* If I have to start making man pages for every rubygem binary, I am going to need a time machine.  I'd love to have them also.
* I can fix macros/comments.  

I'll update again after I have more test data/reasons for failure.

Comment 3 Vít Ondruch 2011-02-17 14:34:04 UTC
Is this review request still valid? There are updated versions of Rack, Rails and Sinatra in F15 and rawhide ...

Comment 4 Vít Ondruch 2011-04-05 14:57:14 UTC
Ping? What is the state?

Comment 5 Michael Stahnke 2011-04-05 19:29:22 UTC
Closing.  We were able to move rubygem-rack in EL5 without issues. This was originally designed to be a duplicate-install package for EL5.

Note You need to log in before you can comment on or make changes to this bug.