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




[[Category:FeatureReadyForFesco]]
[[Category:FeatureAcceptedF14]]

Revision as of 23:29, 20 July 2010

Ruby 1.8.7

Summary

Update the system Ruby 1.8 stack in Fedora from 1.8.6 to 1.8.7

Owner

  • Email: mmorsi@redhat.com

Current status

  • Targeted release: Fedora 14
  • Last updated: 2010-07-12
  • Percentage of completion: 60%

The Ruby 1.8.7 srpm has already undergone alot of work and community vetting and is pretty close to ready to ship in Fedora.

See discussion on ruby-sig and the latest 1.8.7 srpm for more details

http://lists.fedoraproject.org/pipermail/ruby-sig/

http://mo.morsi.org/files/rpms/ruby-1.8.7.299-3.fc13.src.rpm

The only thing that makes me reluctant to increasing the percentage completion is seeing if there will be any breakage with any Ruby or Rubygem packages shipped by Fedora on this update (otherwise, I'd say the ruby package itself is closer to 90% complete)

Detailed Description

Ruby 1.8.7 was released on May 31st 2008. It is currently the latest stable release in the 1.8 Ruby branch.

http://www.ruby-lang.org/en/news/2008/05/31/ruby-1-8-7-has-been-released/


Benefit to Fedora

Most upstream Ruby projects target 1.8.7 as their supported Ruby version, which their code will work under, fewer and fewer rely on 1.8.6 so it is imperative that Fedora updates to 1.8.7 asap.

Ruby 1.9 is in development (current stable version is 1.9.2) but currently is not as widespread / used by upstream Ruby communities. Regardless Jeroen and several others on ruby-sig (including myself) are working towards parallel installable Ruby 1.8 and 1.9 stacks, to be completed at a point TBD in the future.


Scope

Most of the work on the 1.8.7 rpm itself is already done, the most challenging part going forward is making sure all the Ruby dependent packages in Fedora do not break (as there are api changes between _every_ Ruby version, including from 1.8.6 to 1.8.7)

I've already made sure many various packages build and work against ruby 1.8.7 through the use of my polisher project (which may help others test their software against Ruby 1.8.7 as well)

http://github.com/movitto/polisher

http://github.com/movitto/polisher-scripts

How To Test

No special hardware is needed to test Ruby.

Maintainers of the various Ruby packages and all other Fedora users / developers should ensure their own code will work using the 1.8.7 RPM. This may involve

1) surface functionality testing,

2) running test and spec suites against 1.8.7,

3) integration testing various components together against 1.8.7.

Particularly, since the Ruby on Rails framework is one of the most common use cases, anyone deploying a webapp ontop of RoR on Fedora should make sure that all the functionality required by their site still works.

Furthermore, since puppet is one of the major Ruby on Fedora use cases, special testing should/will be taken to ensure no breakage there.

User Experience

Users will notice no difference other than the availability of the updated Ruby 1.8.7 rpm.

Dependencies

The list is too large to include here.

repoquery --whatrequires --alldeps -s "ruby(abi)" | sort -u

indicates approximately 207 rpms

Contingency Plan

None really needed. If Ruby 1.8.7 and its dependents aren't functional we simply just don't push. It is very unlikely that this will be the case though.

Documentation

http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7/ChangeLog

Release Notes

http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7/ChangeLog

Comments and Discussion