Bug 770986 - Review Request: rubygem-kgio - Kinder, gentler I/O for Ruby
Summary: Review Request: rubygem-kgio - Kinder, gentler I/O for Ruby
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-12-30 18:36 UTC by Guillermo Gómez
Modified: 2014-03-20 12:01 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-03-20 12:01:33 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Guillermo Gómez 2011-12-30 18:36:34 UTC
Spec URL: http://gomix.fedorapeople.org/rubygem-kgio/rubygem-kgio.spec
SRPM URL: http://gomix.fedorapeople.org/rubygem-kgio/rubygem-kgio-2.7.0-1.fc16.src.rpm

Description: 

kgio provides non-blocking I/O methods for Ruby without raising
exceptions on EAGAIN and EINPROGRESS.  It is intended for use with the
Unicorn and Rainbows! Rack servers, but may be used by other
applications (that run on Unix-like platforms)

$ rpmlint -v SPECS/rubygem-kgio.spec 
SPECS/rubygem-kgio.spec: I: checking-url http://rubygems.org/downloads/kgio-2.7.0.gem (timeout 10 seconds)
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint -v SRPMS/rubygem-kgio-2.7.0-1.fc16.src.rpm 
rubygem-kgio.src: I: checking
rubygem-kgio.src: I: checking-url http://bogomips.org/kgio (timeout 10 seconds)
rubygem-kgio.src: I: checking-url http://rubygems.org/downloads/kgio-2.7.0.gem (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 1 Mamoru TASAKA 2011-12-31 08:18:42 UTC
Some notes:

* Build failure
  - Build fails on F-17:
    http://koji.fedoraproject.org/koji/taskinfo?taskID=3611721

    -doc subpackage is marked as %doc, however generated
    rpms differ between i686 and x86_64.
    It can be said that this is a bug in ruby(-rdoc) side,
    however for now please consider rdoc-generated files
    arch-dependent.

* Arch dependent binary module
  - kgio_ext.so is arch-dependent and must be placed under
    %ruby_sitearch . Please check ruby packaging guideline.

* Redundant items
  - The following items are now redundant on Fedora (may not
    be under EPEL)
    - BuildRoot: line
    - %clean section (completely)
    - %defattr at the beginning of %files

* rpmlint issue
  - Please suppress (fix) the following rpmlint issues
------------------------------------------------------------
rubygem-kgio-doc.noarch: E: non-readable /usr/lib/ruby/gems/1.8/gems/kgio-2.7.0/NEWS 0600L
rubygem-kgio-doc.noarch: E: non-readable /usr/lib/ruby/gems/1.8/gems/kgio-2.7.0/ChangeLog 0600L
------------------------------------------------------------

* Documentation files placement
  - README file should be in main package, not -doc, because
    it says "README".
  - NEWS, ChangeLog can be in main package (and I recommend
    so), however not a blocker.

* Enabling test suite
  - As this gem contains test/ directory, please add %check
    section and execute some tests there
    Note: you may see some errors for missing "strace" module
    on ./test/test_autopush.rb:3, however I think this can be
    patched out.

By the way, I appreciate it if you would review my review request
(bug 770796)

Comment 2 Guillermo Gómez 2011-12-31 19:52:21 UTC
(In reply to comment #1)

> * Build failure
>   - Build fails on F-17:
>     http://koji.fedoraproject.org/koji/taskinfo?taskID=3611721

* For now rdoc-generated files arch-dependent
* It builds fine now in rawhide

> * Arch dependent binary module
>   - kgio_ext.so is arch-dependent and must be placed under
>     %ruby_sitearch . Please check ruby packaging guideline.

Oops, fixed

> * Redundant items
>   - The following items are now redundant on Fedora (may not
>     be under EPEL)
>     - BuildRoot: line
>     - %clean section (completely)
>     - %defattr at the beginning of %files

I reviewed the items against epel guidelines because i plan to include epel version releases.

  - BuildRoot line will keep if not a blocker (MUST in EPEL)
  - %clean section (MUST in EPEL)
  - %defattr at the beginning of %files, (removed)


> * rpmlint issue
>   - Please suppress (fix) the following rpmlint issues
> ------------------------------------------------------------
> rubygem-kgio-doc.noarch: E: non-readable
> /usr/lib/ruby/gems/1.8/gems/kgio-2.7.0/NEWS 0600L
> rubygem-kgio-doc.noarch: E: non-readable
> /usr/lib/ruby/gems/1.8/gems/kgio-2.7.0/ChangeLog 0600L
> ------------------------------------------------------------

Hmmm, this issues disappeared after removing noarch for doc subpackage.

fixed
 
> * Documentation files placement
>   - README file should be in main package, not -doc, because
>     it says "README".
>   - NEWS, ChangeLog can be in main package (and I recommend
>     so), however not a blocker.

* README, NEWS, ChangeLog location fixed


> * Enabling test suite
>   - As this gem contains test/ directory, please add %check
>     section and execute some tests there
>     Note: you may see some errors for missing "strace" module
>     on ./test/test_autopush.rb:3, however I think this can be
>     patched out.

yes.. did it.. dont know if the best way...included patch0 just for test_autopush.rb.

%check section added

> By the way, I appreciate it if you would review my review request
> (bug 770796)

I'll take a look asap

$ rpmlint -v SRPMS/rubygem-kgio-2.7.0-2.fc16.src.rpm 
rubygem-kgio.src: I: checking
rubygem-kgio.src: I: checking-url http://bogomips.org/kgio (timeout 10 seconds)
rubygem-kgio.src: I: checking-url http://rubygems.org/downloads/kgio-2.7.0.gem (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.


$ rpmlint -v RPMS/x86_64/rubygem-kgio-2.7.0-2.fc16.x86_64.rpm 
rubygem-kgio.x86_64: I: checking
rubygem-kgio.x86_64: I: checking-url http://bogomips.org/kgio (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

$ rpmlint -v RPMS/x86_64/rubygem-kgio-doc-2.7.0-2.fc16.x86_64.rpm 
rubygem-kgio-doc.x86_64: I: checking
rubygem-kgio-doc.x86_64: I: checking-url http://bogomips.org/kgio (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Not sure about my method for patching the test file (not really good at patching so far).

New spec:http://gomix.fedorapeople.org/rubygem-kgio/rubygem-kgio.spec
New srpm:http://gomix.fedorapeople.org/rubygem-kgio/rubygem-kgio-2.7.0-2.fc16.src.rpm

thanks !

_- Guillermo -_

Comment 3 Mamoru TASAKA 2012-01-01 08:49:06 UTC
For -2:

* Build failure
  - -2 won't build - %check fails because ruby could not find
    kgio_ext.so
    (note that this is installed under %buildroot%ruby_sitearch
    at %check, not under %buildroot%ruby_sitearch/kgio, i.e.
    the last "kgio" part is not needed)
    http://koji.fedoraproject.org/koji/taskinfo?taskID=3612585

* Patches
  - %check is not build phase and if you want to apply patches
    *on the files to be packaged*,
    I think it should be done on %prep or %build or %install.
    (Sometimes you may want to disable %check due to
    some reason, and for this reason files to be packaged
    should not be modified on %check)

    Note that sometimes I apply some patches on %check, for files
    not under %buildroot. I usually do test programs under
    %_builddir (normally ${HOME}/rpmbuild/BUILD) to make it sure
    that files under %buildroot are not modified during %check
    phase.

* Unused macro
  - %ruby_sitelib macro is defined in the spec file but is
    used nowhere.

Comment 4 Guillermo Gómez 2012-01-01 18:28:45 UTC
(In reply to comment #3)
> For -2:
> * Build failure
>   - -2 won't build - %check fails because ruby could not find
>     kgio_ext.so

Fixed

> * Patches
>   - %check is not build phase and if you want to apply patches
>     *on the files to be packaged*,....

Fixed (moved to %install section)

> * Unused macro
>   - %ruby_sitelib macro is defined in the spec file but is
>     used nowhere.

Fixed (removed)

new SPEC url:http://gomix.fedorapeople.org/rubygem-kgio/rubygem-kgio.spec
new SRPM url:http://gomix.fedorapeople.org/rubygem-kgio/rubygem-kgio-2.7.0-3.fc16.src.rpm

$ rpmlint -v SPECS/rubygem-kgio.spec 
SPECS/rubygem-kgio.spec: I: checking-url http://rubygems.org/downloads/kgio-2.7.0.gem (timeout 10 seconds)
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint -v SRPMS/rubygem-kgio-2.7.0-3.fc16.src.rpm 
rubygem-kgio.src: I: checking
rubygem-kgio.src: I: checking-url http://bogomips.org/kgio (timeout 10 seconds)
rubygem-kgio.src: I: checking-url http://rubygems.org/downloads/kgio-2.7.0.gem (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

$ rpmlint -v RPMS/x86_64/rubygem-kgio-2.7.0-3.fc16.x86_64.rpm 
rubygem-kgio.x86_64: I: checking
rubygem-kgio.x86_64: I: checking-url http://bogomips.org/kgio (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

$ rpmlint -v RPMS/x86_64/rubygem-kgio-doc-2.7.0-3.fc16.x86_64.rpm 
rubygem-kgio-doc.x86_64: I: checking
rubygem-kgio-doc.x86_64: I: checking-url http://bogomips.org/kgio (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

:) Thanks again for reviewing

_- Guillermo -_

Comment 5 Mamoru TASAKA 2012-01-06 04:25:33 UTC
Sorry for being late.

For -3:

* %install vs %check
  - build.log shows:
    http://koji.fedoraproject.org/koji/taskinfo?taskID=3623729
    http://koji.fedoraproject.org/koji/getfile?taskID=3623730&name=build.log
--------------------------------------------------------
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.SHK0hf
+ umask 022
...
...
+ RUBYOPT='-Ilib -I/builddir/build/BUILDROOT/rubygem-kgio-2.7.0-3.fc17.x86_64/usr/lib64/ruby/site_ruby/1.8/x86_64-linux -Itest'
+ testrb test/test_accept_class.rb test/test_accept_flags.rb ...
...
...
255 tests, 132826 assertions, 0 failures, 0 errors
+ rm -f /builddir/build/BUILDROOT/rubygem-kgio-2.7.0-3.fc17.x86_64/usr/lib/ruby/gems/1.8/gems/kgio-2.7.0/.document
+ rm -f /builddir/build/BUILDROOT/rubygem-kgio-2.7.0-3.fc17.x86_64/usr/lib/ruby/gems/1.8/gems/kgio-2.7.0/.gitignore
....
-------------------------------------------------------

    So now the lines from "rm -rf %{buildroot}%{geminstdir}/.document" to
    "mv %{buildroot}%{geminstdir}/lib/kgio_ext.so 
        %{buildroot}%{ruby_sitearch}"
    are now executed on %check (because on the spec file"%check" is written
    above). 
    Please move the lines
--------------------------------------------------------
 %check
# Patch test_autopush.rb
cd %{buildroot}%{geminstdir}
RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_*
--------------------------------------------------------
    to below "mv %{buildroot}%{geminstdir}/lib/kgio_ext.so ..." line (and above
    %clean section).

Please fix the above issue before importing this package
into Fedora git.

--------------------------------------------------------
  This package (rubygem-kgio) is APPROVED by mtasaka
--------------------------------------------------------

Comment 6 Guillermo Gómez 2012-01-06 15:00:34 UTC
New Package SCM Request
=======================
Package Name: rubygem-kgio
Short Description: Kinder, gentler I/O for Ruby
Owners: gomix
Branches: f15 f16 el5 el6

Comment 7 Gwyn Ciesla 2012-01-06 15:17:07 UTC
Git done (by process-git-requests).

Comment 8 Fedora Update System 2012-01-06 18:15:10 UTC
rubygem-kgio-2.7.0-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/rubygem-kgio-2.7.0-3.fc16

Comment 9 Fedora Update System 2012-01-06 18:21:57 UTC
rubygem-kgio-2.7.0-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/rubygem-kgio-2.7.0-3.fc15

Comment 10 Fedora Update System 2012-01-06 18:26:46 UTC
rubygem-kgio-2.7.0-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/rubygem-kgio-2.7.0-3.el6

Comment 11 Fedora Update System 2012-01-16 02:23:19 UTC
rubygem-kgio-2.7.0-3.fc16 has been pushed to the Fedora 16 stable repository.

Comment 12 Fedora Update System 2012-01-16 02:27:57 UTC
rubygem-kgio-2.7.0-3.fc15 has been pushed to the Fedora 15 stable repository.

Comment 13 Fedora Update System 2012-01-21 20:33:46 UTC
rubygem-kgio-2.7.0-3.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 14 Vít Ondruch 2014-03-20 12:01:33 UTC
This is in Fedora already for some time.


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