From Fedora Project Wiki

Revision as of 12:36, 18 July 2012 by Vondruch (talk | contribs)

Rails 3.2

Summary

Rails 3.2 is the latest version of Ruby on Rails stack. Fedora 17 still contains Rails 3.0, which are rather old from the Rails community point of view.

Owner

  • Email: <bkabrda@redhat.com>

Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-7-16
  • Percentage of completion: 20%

Detailed Description

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

Benefit to Fedora

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

Scope

  • The whole Rails stack has to be updated (8 packages)
  • Additional 10 Gems will have to be packaged
  • Some dependencies of the Rails stack will need update (see below)

This update will only affect the RPM-packaged RubyGems with no effect on Ruby itself nor any other languages.

The packages need to be created/updated approximately in this order:

Package name Task Status
rubygem-ref Create
Pass pass vondruch
838801
rubygem-therubyracer Create
Pass pass bkabrda
838870
rubygem-coffee-script-source Create
Pass pass vondruch
738746
rubygem-execjs Create
Pass pass bkabrda
738744
rubygem-coffee-script Create
Pass pass bkabrda
738742
rubygem-sprockets Create
Inprogress inprogress bkabrda
841089
rubygem-i18n Update to 0.6.0
Pass pass bkabrda
707183
rubygem-builder Update to 3.0.0
Pass pass vondruch
718973
rubygem-activesupport Update to 3.2.x
Fail fail nobody
rubygem-activemodel Update to 3.2.x
Fail fail nobody
rubygem-activeresource Update to 3.2.x
Fail fail nobody
rubygem-arel Update to 3.0.2
Fail fail nobody
rubygem-activerecord Update to 3.2.x
Fail fail nobody
rubygem-erubis Update to 2.7.0
Fail fail nobody
rubygem-rack-test Update to 0.6.1
Fail fail nobody
rubygem-actionpack Update to 3.2.x
Fail fail nobody
rubygem-actionmailer Update to 3.2.x
Fail fail nobody
rubygem-railties Update to 3.2.x
Fail fail nobody
rubygem-sass-rails Create
Fail fail nobody
rubygem-jquery-rails Create
Fail fail nobody
rubygem-uglifier Create
Pass pass bkabrda
840422
rubygem-coffee-rails Create
Fail fail nobody
rubygem-rails Update to 3.2.x
Fail fail nobody

How To Test

  • No special hardware is needed.
  • To test Rails 3.2 before they actually get into Rawhide, use:
gem install rails
rails new app
cd app && rails s
  • Go to http://127.0.0.1:3000/ and make sure you are running Rails 3.2.x
  • When all packages land in Rawhide, use:
yum install rubygem-{rails,sqlite3}
rails new app
cd app && rails s

User Experience

Ruby programmers will once again be able to develop using RPM-packaged Rails of the newest version, using all its advantages.

Dependencies

Apart from those mentioned in #Scope, all the packages that will get updated are dependencies of other cca 40 packages. These will have to be rebuilt and possibly updated.

These 22 packages Require at least one package of the Rails stack directly and should probably be updated, too:

aeolus-conductor-0:0.10.5-1.fc18.noarch
aeolus-configserver-0:0.4.5-1.fc18.noarch
rubygem-acts-as-list-0:0.1.4-3.fc17.noarch
rubygem-aeolus-cli-0:0.5.0-1.fc18.noarch
rubygem-ammeter-0:0.2.2-2.fc17.noarch
rubygem-archivist-0:1.0.5.1-4.fc17.noarch
rubygem-authlogic-0:3.0.3-3.fc17.noarch
rubygem-cucumber-rails-0:1.0.2-9.fc17.noarch
rubygem-declarative_authorization-0:0.5.5-2.fc17.noarch
rubygem-delayed_job-0:3.0.2-1.fc18.noarch
rubygem-factory_girl_rails-0:1.4.0-3.fc17.noarch
rubygem-foreigner-0:1.1.6-1.fc18.noarch
rubygem-formtastic-0:1.2.3-6.fc17.noarch
rubygem-gettext_i18n_rails-0:0.4.0-2.fc17.noarch
rubygem-haml-rails-0:0.3.4-6.fc17.noarch
rubygem-paranoia-0:1.1.0-3.fc18.noarch
rubygem-rails_warden-0:0.5.6-1.fc17.noarch
rubygem-recaptcha-0:0.3.1-3.fc17.noarch
rubygem-rspec-rails-0:2.8.1-2.fc17.noarch
rubygem-rubigen-0:1.5.6-3.fc17.noarch
rubygem-simple-navigation-0:3.5.1-3.fc17.noarch
rubygem-will_paginate-0:3.0.2-3.fc17.noarch

Some other packages will be updated to satisfy the dependencies of the new Rails stack, so their depending packages should be rebuilt (these should however not require update themselves). The packages to rebuild are:

deltacloud-core-0:0.5.0-3.fc17.rc1.src
rubygem-boxgrinder-build-0:0.10.1-1.fc17.src
rubygem-fog-0:1.1.2-1.fc17.src
rubygem-haml-0:3.1.2-5.fc17.src
rubygem-introspection-0:0.0.2-5.fc17.src
rubygem-rack-protection-0:1.2.0-4.fc17.src
rubygem-rack-ssl-0:1.3.2-4.fc17.src
rubygem-rbvmomi-0:1.2.3-5.fc17.src
rubygem-rsolr-0:1.0.2-3.fc17.src
rubygem-scruffy-0:0.3.0-1.beta1.fc17.src # this seems not to be maintained and requires builder < 3.0.0, so we might need to drop this
rubygem-sinatra-1:1.3.2-8.fc17.src
rubygem-tilt-0:1.3.3-3.fc17.src

Contingency Plan

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 packages (and their dependencies).

Documentation

Release Notes

Comments and Discussion