From Fedora Project Wiki
No edit summary
No edit summary
Line 23: Line 23:


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
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. [http://en.wikipedia.org/wiki/YARV]
 
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 ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
 
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 ==
== Scope ==
<!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
The following includes a summary of changes included in this feature:
 
* New Packaging Guidelines for Ruby packages (gems and extension libraries)
* Rebuilding of all Ruby packages, and all packages depending on Ruby
* Changes to the search path to comply with the multi-versioning
* Changes to the location of files to comply with FHS, multilib and packaging standards
 
=== New Packaging Guidelines ===
 
Drafts of new packaging guidelines will have to be proposed to FPSCo. No such drafts currently exist.
 
=== 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 has to be updated to support ruby(abi) = 1.9
 
* 115 in total
 
  repoquery --repoid=rawhide-source --arch=src --whatrequires 'ruby(abi) = 1.8' | sort | uniq
 
=== Packages that require "*ruby*" ===
 
* 334 in total (115 matches from previous query, of course)
 
repoquery --repoid=rawhide-source --arch=src --whatrequires '*ruby*' | sort | uniq


== How To Test ==
== How To Test ==

Revision as of 08:32, 8 September 2011


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

  • Email: vondruch@redhat.com

Current status

  • Targeted release: Fedora 17
  • Last updated: 2011-09-07
  • Percentage of completion: 10%


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 includes a summary of changes included in this feature:

  • New Packaging Guidelines for Ruby packages (gems and extension libraries)
  • Rebuilding of all Ruby packages, and all packages depending on Ruby
  • Changes to the search path to comply with the multi-versioning
  • Changes to the location of files to comply with FHS, multilib and packaging standards

New Packaging Guidelines

Drafts of new packaging guidelines will have to be proposed to FPSCo. No such drafts currently exist.

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 has to be updated to support ruby(abi) = 1.9

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

Packages that require "*ruby*"

  • 334 in total (115 matches from previous query, of course)
repoquery --repoid=rawhide-source --arch=src --whatrequires '*ruby*' | sort | uniq

How To Test

User Experience

Dependencies

Contingency Plan

Documentation

Release Notes

Comments and Discussion