Features/Ruby 1.9.3

From FedoraProject

Jump to: navigation, search


Contents

Ruby 1.9.3

Summary

Ruby 1.9.3 is the latest stable version of Ruby, with major increases in speed and reliability. With this major update from Ruby 1.8.7 in Fedora 16 to Ruby 1.9.3 in Fedora 17, alongside JRuby, Fedora becomes the superior Ruby development platform.

Owner

Current status


Detailed Description

Ruby 1.9.3 is upstream's new major release of Ruby. The MRI reference interpreter is replaced by the YARV bytecode interpreter, designed to greatly improve the execution time of ruby programs. [1]

In doing so, upstream has set the anticipations for downstream consumers with faster and more reliable Ruby. Bringing Ruby 1.9.3 to Fedora is essential for Fedora to be at the top of it's game as a Ruby development platform.

Benefit to Fedora

Supporting the growth of a young language with a performance-enhancing milestone release. Add to that the multiplatform targetted development we enable downstream parties to do using our distribution.

Scope

The following list includes a summary of changes included in this feature:

New Packaging Guidelines

Drafts of new packaging guidelines will have to be proposed to FPC. You can see the current draft.

Ruby Search path

The ruby search path is going to change. Not set in stone yet, but this is what it is right now:

$ ruby -e "puts $:"
/usr/local/lib64/ruby/site_ruby
/usr/local/share/ruby/site_ruby
/usr/lib64/ruby/vendor_ruby
/usr/share/ruby/vendor_ruby
/usr/lib64/ruby
/usr/lib64/ruby/x86_64-linux

Changes like these mean that the Packaging Guidelines for Ruby will also need to be updated.

Packages that require "ruby(abi) = 1.8"

Requires rebuilding numerous packages that depend on ruby(abi) = 1.8, or have Requires or BuildRequires for package dependent on ruby(abi) = 1.8. All these packages have to be updated to support ruby(abi) = 1.9

repoquery --repoid=rawhide-source --arch=src --whatrequires 'ruby(abi) = 1.8' | sort | uniq

Packages that require "*ruby*"

repoquery --repoid=rawhide-source --arch=src --whatrequires '*ruby*' | sort | uniq

How To Test


Please note that we already tested all packages available in Fedora for compatibility with Ruby 1.9.3. You can go through the findings in following mailing list threads:

User Experience

The Ruby programmes/scripts will get significantly faster compared to the current state.

Dependencies

Ruby has more than three hundred dependencies in Fedora, most of them are Rubygems. All of these 300 will have to be rebuilt and tested.

Contingency Plan

We would like to get a special buildroot tag to be able to rebuild all the packages with Ruby 1.9.3. If anything goes wrong, the tag could be easily dropped and previous version of Ruby 1.8.7 and its dependencies stays intact.

Documentation

http://www.ruby-doc.org/

Upstream EOL

Release Notes

Comments and Discussion