Ruby 1.9.1
Summary
Ruby 1.9.1 is a long awaited, much anticipated version of Ruby, with major increases in speed and reliability. With Ruby 1.9.1 alongside Ruby 1.8.6 in Fedora 13, possibly including Ruby 1.8.5 as well, Fedora becomes the superior Ruby development platform.
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: 50%
Latest Status Updates
- 2009-12-22: Packages are available on http://mirror.nl.kanarip.com/custom/ (the -ruby repositories)
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
...