Bug 602435

Summary: Rebase Ruby from 1.8.6 to 1.8.7 for Rails3 Support
Product: Red Hat Enterprise Linux 6 Reporter: John W. Lockhart <lockhart>
Component: rubyAssignee: Jim Meyering <meyering>
Status: CLOSED CURRENTRELEASE QA Contact: Aleš Mareček <amarecek>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0CC: amarecek, ddumas, ebenes, eng-i18n-bugs, hbrock, jorris, kbsingh, mbabej, meyering, mkhusid, mmorsi, mvadkert, notting, ralph, raud, santiago, syeghiay, tagoh
Target Milestone: rcKeywords: Rebase
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
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 21:32:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 604211    

Description John W. Lockhart 2010-06-09 20:22:02 UTC
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 20:27:16 UTC
The book referenced above is detailed here:

http://pragprog.com/titles/rails4/agile-web-development-with-rails

Comment 2 Akira TAGOH 2010-06-10 12:57:38 UTC
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 20:00:33 UTC
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 20:07:58 UTC
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 13:02:17 UTC
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 13:07:26 UTC
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 13:41:29 UTC
readline inspects terminal ($TERM) capabilities.
When possible it uses escape sequences.

Comment 50 Jim Meyering 2010-09-02 14:40:09 UTC
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 14:56:37 UTC
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 21:32:45 UTC
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.