Bug 602435 - Rebase Ruby from 1.8.6 to 1.8.7 for Rails3 Support
Rebase Ruby from 1.8.6 to 1.8.7 for Rails3 Support
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: ruby (Show other bugs)
6.0
All Linux
high Severity medium
: rc
: ---
Assigned To: Jim Meyering
Aleš Mareček
: Rebase
Depends On:
Blocks: 604211
  Show dependency treegraph
 
Reported: 2010-06-09 16:22 EDT by John W. Lockhart
Modified: 2013-03-13 16:40 EDT (History)
18 users (show)

See Also:
Fixed In Version: ruby-1.8.7.299-3.el6
Doc Type: Rebase: Bug Fixes and Enhancements
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-11-10 16:32:45 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description John W. Lockhart 2010-06-09 16:22:02 EDT
Description of problem:
To run Rails3, the minimum required version of ruby is 1.8.7.

RHEL6 currently includes only ruby-1.8.6.399-5.1.el6.

The choices for Rails-3 support are ruby 1.8.7, or 1.9.2+ (which is a bigger change from 1.8.6).

Version-Release number of selected component (if applicable):
ruby-1.8.6.399-5.1.el6

I have not attempted to run the latest rails3 against this version, since the release notes claim it doesn't meet the requirements.

Additional info:

Version requirements can be found here:

http://guides.rails.info/3_0_release_notes.html

Excerpt (9 June 2010):
> 1.1 Rails 3 requires Ruby 1.8.7+
>
> Rails 3.0 requires Ruby 1.8.7 or higher. Support for all of the previous Ruby 
> versions has been dropped officially and you should upgrade as early as 
> possible. Rails 3.0 is also compatible with Ruby 1.9.2.
>
> Note that Ruby 1.8.7 p248 and p249 has marshaling bugs that crash 
> Rails 3.0.0.  Ruby Enterprise Edition have these fixed since 
> release 1.8.7-2010.02 though. On the 1.9 front, Ruby 1.9.1 is 
> not usable because it outright segfaults on Rails 3.0.0, so 
> if you want to use Rails 3 with 1.9.x jump on 1.9.2 for smooth 
> sailing.

Also covered in the forthcoming book about Rails3, of which the creator of Rails is a co-author.  See the "Agile Development With Ruby on Rails" book on http://pragprog.com for details.
Comment 1 John W. Lockhart 2010-06-09 16:27:16 EDT
The book referenced above is detailed here:

http://pragprog.com/titles/rails4/agile-web-development-with-rails
Comment 2 Akira TAGOH 2010-06-10 08:57:38 EDT
What's the business case on this request?

Well, I'm sorry but unfortunately I'd not support on this as far as possible, because:

* Migrating ruby to 1.9 or even 1.8.7 isn't yet finished in even Fedora; it's being planned in f14.

* need extra work on QE side to make sure functionalities and compatibilities because too much changes has been made between 1.8.6 and even 1.8.7.

* also need extra work on engineering side to keep a sort of compatibilities to the past releases to not confuse users.


Even though those has been released some while ago and many users outside Fedora/RHEL should uses, I believe we have to run on the same rail to see if it works for Fedora/RHEL. so I'd say this should be done in Fedora first and see how it going on.
Comment 13 John W. Lockhart 2010-06-16 16:00:33 EDT
Please also include the other items built in the ruby SRPM, such as ruby-irb.  List follows.  Not a big deal to me if ruby-tcltk is omitted.

ruby
ruby-debuginfo
ruby-devel
ruby-docs
ruby-irb
ruby-libs
ruby-mode
ruby-rdoc
ruby-ri
ruby-tcltk
====
Comment 14 John W. Lockhart 2010-06-16 16:07:58 EDT
See also bug 604211 -- rubygems is required to add additional modules (such as Rails) in the ruby 1.8.x series.  (rubygems is built into ruby-1.9.x.)
Comment 45 Jim Meyering 2010-09-02 09:02:17 EDT
Hi Aleš,
Thanks for the testing.
What type of system is that on?
If I can reach it, please tell me its name.
Comment 46 Jim Meyering 2010-09-02 09:07:26 EDT
Actually, I've just reproduced both failures.
The readline one is spurious.
Avoid it by setting TERM=dumb in your environment:

  $ TERM=dumb bin/testrb test/readline/test_readline.rb
  ...
  2 tests, 11 assertions, 0 failures, 0 errors

looking into the gdbm one now...
Comment 48 Jim Meyering 2010-09-02 09:41:29 EDT
readline inspects terminal ($TERM) capabilities.
When possible it uses escape sequences.
Comment 50 Jim Meyering 2010-09-02 10:40:09 EDT
regarding the gdbm failure, that error message is misleading:

    this test is failed on libgdbm 1.8.0.

It should say something like this instead:

   this test has failed.  It is expected to fail if you are using libgdbm 1.8.0

In other words, it's another poor test.
They should detect that we're using 1.8.0 and skip the test or mark it as expected-fail so it doesn't even show up as a problem.

Or perhaps, we should take this as a cue to upgrade to a newer version of gdbm, in case some of our customers are using ruby and gdbm.

Yikes! gdbm-1.8.0 is *11* years old.
See ftp://ftp.gnu.org/gnu/gdbm/
The latest is gdbm-1.8.3, which is "only" 9 years old.

filing a BZ now...
Comment 51 Jim Meyering 2010-09-02 10:56:37 EDT
Here's the gdbm BZ:
  gdbm-1.8.0 is way too old: upgrade to 9-yr-old 1.8.3
  http://bugzilla.redhat.com/629640
Comment 55 releng-rhel@redhat.com 2010-11-10 16:32:45 EST
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.

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