Features/Ruby 1.8.7

= Ruby 1.8.7 =

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

Owner

 * Name: Mohammed Morsi


 * Email: mmorsi@redhat.com

Current status

 * Targeted release: Fedora 14
 * Last updated: 2010-09-01
 * Percentage of completion: 85%

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)

ruby-1.8.7.299-4.fc14 is already imported into F-14 tree. Ideally there should be nothing left before saying that this feature is 100% done (except for some cleanups of rpmlint issues or so). At least we can say this feature is "testable" and are waiting for feedbacks.
 * Updated: 2010-07-29

Currently no regressions are reported. I don't know if we can say "this feature is now complete", however unless regressions are reported there is basically nothing we must do before raising the completion percentage to 100%.
 * Updated: 2010-08-31

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

 * See Talk:Features/Ruby_1.8.7