Bug 179940 - Review Request: ruby-http-access2
Review Request: ruby-http-access2
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Package Reviews List
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-02-03 18:13 EST by Oliver Andrich
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-06-22 12:02:35 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Make ruby packages compile in mock (1.80 KB, patch)
2006-03-03 18:44 EST, Toshio Kuratomi
no flags Details | Diff

  None (edit)
Description Oliver Andrich 2006-02-03 18:13:43 EST
Spec Name or Url: http://roughbook.de/fedora/ruby-http-access2.spec
SRPM Name or Url: http://roughbook.de/fedora/ruby-http-access2-2.0.6-1.src.rpm
Description:
http-access2 gives something like the functionality of libwww-perl (LWP)
in Ruby.

Features:

    * methods like GET/HEAD/POST via HTTP/1.1.
    * asynchronous HTTP request
    * HTTPS(SSL)
    * by contrast with net/http in standard distribution;
          o you don't have to care HTTP/1.1 persistent connection
            (http-access2 cares instead of you).
          o MT-safe
          o streaming POST
          o Cookies

Required for using basic authentication with SOAP4R.
Comment 1 Jason Tibbitts 2006-02-28 11:53:17 EST
We have a specfile template for Ruby now; it would be best to follow it
especially as it fixes things like %{ruby_sitelib}.  Ruby packaging isn't as far
along as Perl or Python so I think it's important that everything is consistent.

Onto the review:
package is properly named (although there aren't naming guidelines for Ruby yet,
the name matches the tarball and the necessary 'require' line).

2.0.6 is the current version.

The summary is a bit awkward; suggest changing "Accessing" to "Access" or "A
library for accessing".

I believe the licensing is more complex than just GPL since the package allows
distribution under Ruby's dual license, but I don't know what the common name of
the other license is.

The URL given seems to be throwing an internal server error for me.

The specfile template prefers:

BuildRequires: ruby ruby-devel
Requires: %{ruby_sitelib}

where %{ruby_sitelib} is defined earlier in the template.

The package should be BuildArch: noarch as it doesn't produce any binaries.

Suggest deleting the last line for the description.

Suggest running the provided tests in a %check section if this is reasonable. 
(It probably isn't if this requires network access.)

Please use %{ruby_sitelib} instead hardcoding the Ruby version in %files.
Comment 2 Oliver Andrich 2006-02-28 13:25:20 EST
(In reply to comment #1)
> We have a specfile template for Ruby now; it would be best to follow it
> especially as it fixes things like %{ruby_sitelib}.  Ruby packaging isn't as far
> along as Perl or Python so I think it's important that everything is consistent.

Well, I supplied the template myself, but havn't applied it yet on this package.
Shame on me. :) 

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180066

I also suggested adding a paragraph concerning ruby to the package naming
guidelines the closely follows the python and perl paragraphs. I hope it will be
merged into the document soon. 

> The summary is a bit awkward; suggest changing "Accessing" to "Access" or "A
> library for accessing".

Okay, understood. I am not a native english speaker, which is the cause of such
issues. 

> I believe the licensing is more complex than just GPL since the package allows
> distribution under Ruby's dual license, but I don't know what the common name of
> the other license is.

Well, I talked about that with the maintainer of the ruby package itself.

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=179933

If I look at the packaging guidelines and what is stated about licensing
information, it is obvious to me, that I have to mark to be licensed under the
GPL, cause it is the OSI approved licence. Akira Tagoh (tagoh@redhat.com)
suggested to use Distributable, as you can see in Ticket 179933. This is the way
I want to go.

> The specfile template prefers:
> 
> BuildRequires: ruby ruby-devel
> Requires: %{ruby_sitelib}
> 
> where %{ruby_sitelib} is defined earlier in the template.

This is done as soon as I update to the template. okay.

> The package should be BuildArch: noarch as it doesn't produce any binaries.
>
> Suggest deleting the last line for the description.
> 
> Suggest running the provided tests in a %check section if this is reasonable. 
> (It probably isn't if this requires network access.)
> 
> Please use %{ruby_sitelib} instead hardcoding the Ruby version in %files.

I agree with you and will release a new package tonight. Thanks for checking.
Comment 3 Jason Tibbitts 2006-02-28 14:01:10 EST
Sorry, I had no idea you had supplied the ruby spec template.  I just noticed
that  it had popped up with the latest fedora-rpmdevtools release.

I would suggest using "Ruby license" and ignoring warnings from rpmlint until
that license can be added, unless the discussion on fedora-extras-list turns in
another direction.
Comment 4 Oliver Andrich 2006-02-28 14:35:04 EST
Spec Name or Url: http://roughbook.de/fedora/ruby-http-access2.spec
SRPM Name or Url: http://roughbook.de/fedora/ruby-http-access2-2.0.6-2.src.rpm

I fixed everything except:

- I stick with license Distributable cause it the "redhat" way to handle it.
- I skipped the tests so far, cause I have to figure out how to check the
results in a spec file.
Comment 5 Jason Tibbitts 2006-02-28 14:40:38 EST
"Distributable" is clearly an inferior solution.  The Ruby License is free (or
so says Debian and the FSF), so the License: tag should read "GPL/Ruby License"
and hopefully rpmlint will catch up.  Until then, we'll just have to ignore the
warning.
Comment 6 Oliver Andrich 2006-02-28 15:33:53 EST
Spec Name or Url: http://roughbook.de/fedora/ruby-http-access2.spec
SRPM Name or Url: http://roughbook.de/fedora/ruby-http-access2-2.0.6-3.src.rpm

Changed license to Ruby License after reading the implicit acceptance of 

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183384

Any further show stoppers before accepting the package?
Comment 7 Jason Tibbitts 2006-02-28 16:25:26 EST
It should be either "GPL/Ruby License" or "GPL or Ruby License" since the
package is dual-licensed.

You can remove any reference to %{ruby_sitearch} as this is a noarch package.  

rpmlint says:

W: ruby-http-access2 invalid-license Ruby License
E: ruby-http-access2 only-non-binary-in-usr-lib
W: ruby-http-access2 no-documentation

We can discount the first warning.

I think we must discount the second warning; rpmlint has checks to prevent this
for /usr/lib/ruby but not for /usr/lib/site_ruby.  I would argue that site_ruby
should be in /usr/lib/ruby (as Perl does things) but the current organization is
the way Red Hat set things up.

The second warning is valid; you seem to have dropped the documentation.  At
minimum you should package README.txt and the sample directory.

The package doesn't build in mock for some reason.  It looks like ruby isn't
installed in the build environment at the time the first two lines of the
specfile are executed.  I need to spend some more time debugging this.  More in
about 90 minutes.
Comment 8 Ville Skyttä 2006-02-28 16:35:36 EST
Doesn't the Ruby License imply GPL?  At least /usr/share/doc/ruby-*/COPYING
seems to say so, and that's what I thought when I said I'd accept the patch
adding "Ruby License" to rpmlint's valid licenses list.
Comment 9 Oliver Andrich 2006-02-28 16:44:00 EST
Well, I would suggest to stick with Ruby License. Cause all the ruby packages
can be distributed under the Ruby License _or_ the GPL. The Ruby License is a
valid OSS license, its is compatible with the GPL and it is lighter.
Comment 10 Oliver Andrich 2006-02-28 16:49:01 EST
Spec Name or Url: http://roughbook.de/fedora/ruby-http-access2.spec
SRPM Name or Url: http://roughbook.de/fedora/ruby-http-access2-2.0.6-4.src.rpm

Fixed:
- missing README.txt
- removed reference of %{ruby_sitearch} in the requirements

The rpmlint error about the binary lib is missing when I call rpmlint.
Comment 11 Jason Tibbitts 2006-02-28 18:22:40 EST
Here is the beginning of Ruby's COPYING file:

----
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
You can redistribute it and/or modify it under either the terms of the GPL
(see the file GPL), or the conditions below:
----

I'll drop my objection and leave it to the experts to decide whether that means
the license should be "GPL/Ruby Licence" or just "Ruby License".  I've been
basing my comments on Perl, where everything is GPL/Artistic.

In any case, the real problems I'm seeing is that it won't build in mock.  Here
is the tail of the build log:

/sbin/runuser -c 'rpm -Uvh --nodeps
/builddir/build/originals/ruby-http-access2-2.0.6-4.src.rpm' mockbuild
ruby-http-access2           warning: user tibbs does not exist - using root
##############################################warning: user tibbs does not exist
- using root
#warning: user tibbs does not exist - using root
###
sh: ruby: command not found
sh: ruby: command not found
sh: ruby: command not found
error: line 21: Empty tag: Requires:
Building target platforms: i386
Building for target i386
Cleaning up...
Done.

This happens directly after the "groupinstall build" phase completes; ruby was
not installed at that time.  This happens on two separate systems, one x86_64
and the other i386; both are building on both FC4 and the development branch.

Even though it's not a problem, I do wonder why you don't see the rpmlint complaint:

E: ruby-http-access2 only-non-binary-in-usr-lib

I'm running rpmlint-0.75-1.fc4.

The mock build is a killer, though; if my setup isn't busted then it implies
that you won't be able to get through the build system.  Have you tried it yourself?
Comment 12 Toshio Kuratomi 2006-03-03 18:44:07 EST
Created attachment 125632 [details]
Make ruby packages compile in mock

Here's a patch to the spec that I just checked locally.  It allows ruby to
build in mock and also comments out BuildArch: noarch as FC's ruby currently
uses an arch specific directory for ruby libraries.
Comment 13 Jason Tibbitts 2006-04-07 16:37:32 EDT
What remains to be worked out before this package can go in?  We've already
decided that Ruby packages can't currently be noarch and we have worked out that
it's currently simpler to just specify the minimum Ruby version instead of using
specfile magic to extract the current version from the build environment (and we
also have fixed magic if needed).  Can you submit a fixed package so I can
finish up the review?
Comment 14 Oliver Andrich 2006-04-09 04:06:37 EDT
Well, I think there is not very much to do, but at the moment I am not capable of doing it myself. I am 
mostly on the road these days, and I also moved my work to a Mac box. So, I only have a Fedora machine 
available once a month. May be someone else of the ruby SIG should do the final steps. Otherwise it has to 
wait for a least a month.
Comment 15 Jason Tibbitts 2006-06-22 12:02:35 EDT
I'm going to go ahead and close this; if someone else wants to re-submit this
package I'll be happy to review it.

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