(→Benefit to Fedora: Missed the boat on being first) |
|||
Line 20: | Line 20: | ||
== Detailed Description == | == Detailed Description == | ||
Ruby-1.9.1 is upstream's new major release of Ruby. | Ruby-1.9.1 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] | ||
== Benefit to Fedora == | == Benefit to Fedora == |
Revision as of 09:32, 19 December 2009
Ruby 1.9.1
Summary
Release ruby-1.9.1 alongside the current stack of ruby-1.8.6, which then moves to compat-ruby-1.8.6. The 1.9.1 version of Ruby is supposed to become the default version of Ruby on a Fedora system
Owner
- Name: Jeroen van Meeuwen
Interested People
- Name: John Blitch
Current status
- Targeted release: Fedora 13
- Last updated: Sat Dec 19 2009
- Percentage of completion: 0%
Detailed Description
Ruby-1.9.1 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]
Benefit to Fedora
Supporting the growth of a young language with a performance-enhancing milestone release. Ubuntu already includes Ruby-1.9.1 in their 9.10 release.
Scope
Requires rebuilding numerous packages that depend on ruby(abi) = 1.8, or have Requires or BuildRequires for package dependent on ruby(abi) = 1.8
Ruby Search path
The ruby search path is going to change. Not set in stone yet, but this is what it is right now (on my workstation):
[jmeeuwen@ghandalf master]$ ruby -e 'puts $:' /usr/lib64/ruby/site_ruby/1.9.1 /usr/lib64/ruby/site_ruby/1.9.1/x86_64-linux /usr/lib64/ruby/site_ruby /usr/lib64/ruby/vendor_ruby/1.9.1 /usr/lib64/ruby/vendor_ruby/1.9.1/x86_64-linux /usr/lib64/ruby/vendor_ruby /usr/lib64/ruby/1.9.1 /usr/lib64/ruby/1.9.1/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"
- 80 in total
repoquery -c rawhide-i386.conf --qf="%{SOURCERPM}" --whatrequires "ruby(abi) = 1.8" | sort | uniq
Packages that require "*ruby*"
- 119 in total (80 matches from previous query, of course)
repoquery -c rawhide-i386.conf --qf="%{SOURCERPM}" --whatrequires "*ruby*" | sort | uniq
Test Plan
- Make a compatibility package available: compat-ruby1.8-1.8.6.287
- Rebuild packages requiring ruby(abi) = 1.8 against the compat- package
- Release ruby-1.9.1
- Start moving packages to requiring ruby(abi) = 1.9 and test functionality
- Fix upstream whereever possible
User Experience
- Puppet had better work, no matter what -- Yaakov M. Nemoy 16:49, 6 December 2009 (UTC)
Dependencies
- Maintainers of packages dependent on ruby need to be in the loop
- provenpackager membership for /me (done)
- Package Guidelines change
Contingency Plan
- Revert compat-ruby1.8-1.8.6.287 to just ruby-1.8.6.287
Documentation
Release Notes
...