From Fedora Project Wiki


Ruby on Rails 4.0

Summary

Ruby on Rails 4.0 is the latest version of well know web framework written in Ruby.

Owner

Current status

Detailed Description

The Ruby on Rails stack is evolving quickly and Fedora needs to keep pace with it. Therefore the whole Ruby on Rails stack should be updated from 3.2 in Fedora 19 to 4.0 (latest version) in Fedora 20. This will ensure that all the Ruby developers using Fedora have the latest and greatest RPM-packaged Ruby on Rails.

Benefit to Fedora

This update will keep Fedora up-to-date and will ensure that the current Ruby on Rails developers stay with us as they will get support for system-packaged Ruby on Rails of the latest version. Apart from that, Rails 4.0 also bring improved functionality, speed. security and better modularization.

Scope

  • Proposal owners:
  • The whole Rails stack has to be updated
  • New additional gems will have to be packaged
  • Some dependencies of the Rails stack will need update

The packages need to be created/updated (this is probably not an exhaustive list):

Package name Task Status
rubygem-i18n Update to 0.6.4
Pass pass jstribny
915728
rubygem-tzinfo Update to 0.3.37
Pass pass jstribny
917630
rubygem-atomic Create
Pass pass jstribny
960139
rubygem-thread_safe Built
Pass pass jstribny
961375
rubygem-activesupport Update to 4.0.x
Pass pass jstribny
979613
rubygem-activeresource Update to 4.0.x
Pass pass jstribny
979612
rubygem-rack Update to 1.5.2
Pass pass jstribny
903613
rubygem-actionpack Update to 4.0.x
Pass pass jstribny
979609
rubygem-activemodel Update to 4.0.x
Pass pass jstribny
979610
rubygem-arel Update to 4.0.0
Pass pass jstribny
953809
rubygem-activerecord-deprecated_finders-1.0.3.gem (100%) Done
Pass pass jstribny
961364
rubygem-activerecord Update to 4.0.x
Pass pass jstribny
979611
rubygem-mime-types 1.19.3 in Fedora
Pass pass
rubygem-polyglot 0.3.3 in Fedora
Pass pass
rubygem-treetop 1.4.12 in Fedora
Pass pass
rubygem-mail 2.5.3 in Fedora
Pass pass
rubygem-actionmailer Update to 4.0.x
Pass pass jstribny
979607
rubygem-thor Update to 0.18.1
Pass pass jstribny
927600
rubygem-railties Update to 4.0.x
Pass pass jstribny
979615
rubygem-sprockets ActionPack dropped this dep
Pass pass
915730
rubygem-sprockets-rails Done
Pass pass jstribny
986991
rubygem-dalli Done
Pass pass jstribny
990512
rubygem-rails-observers Done but enable tests (needs minitest 4.7.5)
Pass pass jstribny
990569
rubygem-jbuilder Done
Pass pass jstribny
991349
rubygem-sdoc Needs review; upstream version doesn't work with RDoc 4.0 yet
Warning warn jstribny
991339
rubygem-sass-rails Needs update to 4.0.0
Pass pass jstribny
979616
rubygem-coffee-rails Needs update to 4.0.0
Pass pass jstribny
rubygem-rails Update to 4.0.x
Pass pass jstribny
979614
  • Other developers: Update Rails dependent packages to be working with Ruby on Rails 4.0
  • Release engineering: Not needed.
  • Policies and guidelines: Not needed

Upgrade/compatibility impact

Web applications build above Ruby on Rails framework might need to be updated. Official upstream upgrade guide might come handy: http://guides.rubyonrails.org/upgrading_ruby_on_rails.html

How To Test

  • No special hardware is needed.
  • To test Rails 4.0 from upstream:
gem install rails
rails new app
cd app && rails s
yum install rubygem-{rails,sqlite3}
rails new app
cd app && rails s
  • To test the complete feature including generating a new Rails app using RPM (Note: sdoc is not yet in f20/rawhide)
su -c "yum install rubygem-{rails,sqlite3,coffee-rails,sass-rails,uglifier,jquery-rails,turbolinks,jbuilder,therubyracer}"
gem install sdoc
rails new app --skip-bundle && cd app
sed -i "s|# gem 'therubyracer'|gem 'therubyracer'|" Gemfile
rails s

User Experience

  • New version of Ruby on Rails (4.0) available

Dependencies

  • There are several packages, which depends on Ruby on Rails framework. All need to be tested an updated. These needs to be surely updated:
    • rubygem-cucumber-rails => UPDATED
    • rubygem-haml-rails to 0.4 => UPDATED
    • rubygem-simple_form to 3.0.0rc => UPDATED
    • rubygem-delayed_job to 3.1.4 => UPDATED
    • rubygem-delayed_job_active_record to 4.0.0 => UPDATED
    • rubygem-paranoia to 2.0.0 => UPDATED
  • openshift-origin-broker and any of rubygem-openshift-origin* gems might need to be updated and tested against Rails 4.0
    • Contact person: Krishna Raman <kraman@redhat.com> from OpenShift Origin team
  • Following gems don't support Rails 4.0 right now and would be broken by the update:

Contingency Plan

  • Contingency mechanism: None needed. Rails stack won't be updated until all its dependencies are in Rawhide. After that, it will be a simple matter of updating the 8 core packages (and their dependencies).
  • Contingency deadline: N/A
  • Blocks release? No

Documentation

Release Notes