Changes/Ruby on Rails 4.0

From FedoraProject

< Changes(Difference between revisions)
Jump to: navigation, search
(Scope)
(How To Test)
 
(33 intermediate revisions by 3 users not shown)
Line 16: Line 16:
  
 
We request that you maintain the same order of sections so that all of the change proposal pages are uniform.
 
We request that you maintain the same order of sections so that all of the change proposal pages are uniform.
-->
+
--
  
 
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
 
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
Line 50: Line 50:
 
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
 
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
 
-->
 
-->
* Tracker bug: <will be assigned by the Wrangler>
+
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=998578 #998578]
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 90: Line 90:
 
|-
 
|-
 
|rubygem-thread_safe
 
|rubygem-thread_safe
|Create
+
|Built
|{{result|inprogress|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=961375 961375]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=961375 961375]
 
|-
 
|-
 
|rubygem-activesupport
 
|rubygem-activesupport
 
|Update to 4.0.x
 
|Update to 4.0.x
|{{result|warn|}} [https://bugzilla.redhat.com/show_bug.cgi?id=979613 979613]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979613 979613]
 +
|-
 +
|rubygem-activeresource
 +
|Update to 4.0.x
 +
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979612 979612]
 
|-
 
|-
 
|rubygem-rack
 
|rubygem-rack
Line 103: Line 107:
 
|rubygem-actionpack
 
|rubygem-actionpack
 
|Update to 4.0.x
 
|Update to 4.0.x
|{{result|warn|}} [https://bugzilla.redhat.com/show_bug.cgi?id=979609 979609]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979609 979609]
 
|-
 
|-
 
|rubygem-activemodel
 
|rubygem-activemodel
 
|Update to 4.0.x
 
|Update to 4.0.x
|{{result|warn|}} [https://bugzilla.redhat.com/show_bug.cgi?id=979610 979610]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979610 979610]
 
|-
 
|-
 
|rubygem-arel
 
|rubygem-arel
Line 114: Line 118:
 
|-
 
|-
 
|rubygem-activerecord-deprecated_finders-1.0.3.gem (100%)
 
|rubygem-activerecord-deprecated_finders-1.0.3.gem (100%)
|Depends on Rails 4.0
+
|Done
|{{result|inprogress|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=961364 961364]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=961364 961364]
 
|-
 
|-
 
|rubygem-activerecord
 
|rubygem-activerecord
 
|Update to 4.0.x
 
|Update to 4.0.x
|{{result|warn|}} [https://bugzilla.redhat.com/show_bug.cgi?id=979611 979611]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979611 979611]
 
|-
 
|-
 
|rubygem-mime-types
 
|rubygem-mime-types
Line 139: Line 143:
 
|rubygem-actionmailer
 
|rubygem-actionmailer
 
|Update to 4.0.x
 
|Update to 4.0.x
|{{result|warn|}} [https://bugzilla.redhat.com/show_bug.cgi?id=979607 979607]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979607 979607]
 
|-
 
|-
 
|rubygem-thor
 
|rubygem-thor
Line 147: Line 151:
 
|rubygem-railties
 
|rubygem-railties
 
|Update to 4.0.x
 
|Update to 4.0.x
|{{result|warn|}} [https://bugzilla.redhat.com/show_bug.cgi?id=979615 979615]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979615 979615]
 
|-
 
|-
 
|rubygem-sprockets
 
|rubygem-sprockets
Line 154: Line 158:
 
|-
 
|-
 
|rubygem-sprockets-rails
 
|rubygem-sprockets-rails
|Needs review
+
|Done
|{{result|inprogress|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=986991 986991]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=986991 986991]
 +
|-
 +
|rubygem-dalli
 +
|Done
 +
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=990512 990512]
 +
|-
 +
|rubygem-rails-observers
 +
|Done but enable tests (needs minitest 4.7.5)
 +
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=990569 990569]
 +
|-
 +
|rubygem-jbuilder
 +
|Done
 +
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=991349 991349]
 +
|-
 +
|rubygem-sdoc
 +
|Needs review; upstream version doesn't work with RDoc 4.0 yet
 +
|{{result|warn|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=991339 991339]
 +
|-
 +
|rubygem-sass-rails
 +
|Needs update to 4.0.0
 +
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979616 979616]
 +
|-
 +
|rubygem-coffee-rails
 +
|Needs update to 4.0.0
 +
|{{result|pass|jstribny}}
 
|-
 
|-
 
|rubygem-rails
 
|rubygem-rails
 
|Update to 4.0.x
 
|Update to 4.0.x
|{{result|warn|}} [https://bugzilla.redhat.com/show_bug.cgi?id=979614 979614]
+
|{{result|pass|jstribny}} [https://bugzilla.redhat.com/show_bug.cgi?id=979614 979614]
 
|}
 
|}
 
+
* Other developers: Update Rails dependent packages to be working with Ruby on Rails 4.0 <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
 
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
  
* Release engineering: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Release engineering: Not needed.  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->
 
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->
  
* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Policies and guidelines: Not needed  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
 
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
  
Line 194: Line 221:
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
* No special hardware is needed.
 
* No special hardware is needed.
* To test Rails 4.0 before they actually get into Rawhide, use:
+
* To test Rails 4.0 from upstream:
 
<pre>
 
<pre>
 
gem install rails
 
gem install rails
Line 201: Line 228:
 
</pre>
 
</pre>
 
* Go to http://127.0.0.1:3000/ and make sure you are running Rails 4.0.x
 
* Go to http://127.0.0.1:3000/ and make sure you are running Rails 4.0.x
* When all packages land in Rawhide, use:
+
* To test only Rails itself
 
<pre>
 
<pre>
 
yum install rubygem-{rails,sqlite3}
 
yum install rubygem-{rails,sqlite3}
 
rails new app
 
rails new app
 
cd app && rails s
 
cd app && rails s
 +
</pre>
 +
* To test the complete feature including generating a new Rails app using RPM (Note: sdoc is not yet in f20/rawhide)
 +
<pre>
 +
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
 
</pre>
 
</pre>
 
* Go to http://127.0.0.1:3000/ and make sure you are running Rails 4.0.x
 
* Go to http://127.0.0.1:3000/ and make sure you are running Rails 4.0.x
Line 212: Line 247:
 
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
 
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)  
+
* New version of Ruby on Rails (4.0) available
  
 
== Dependencies ==
 
== Dependencies ==
Line 218: Line 253:
  
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* There are several packages, which depends on Ruby on Rails framework. All need to be tested an updated.
+
* 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:
 +
** rubygem-aeolus* packages
 +
*** upstream no longer maintains the project
 +
** rubygem-audited-activerecord
 +
** rubygem-mongoid (mongoid 4.0 is blocked by 10gen Ruby driver)
 +
*** https://github.com/mongoid/mongoid/issues/3128
 +
** rubygem-rubigen
  
 
== Contingency Plan ==
 
== Contingency Plan ==
Line 224: Line 275:
 
* 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).  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
* 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).  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
 
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Contingency deadline: N/A  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
 
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
  
 
== Documentation ==
 
== Documentation ==
Line 244: Line 295:
 
* http://guides.rubyonrails.org/4_0_release_notes.html
 
* http://guides.rubyonrails.org/4_0_release_notes.html
  
[[Category:ChangeReadyForFesco]]
+
[[Category:ChangeAcceptedF20]]
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 251: Line 302:
  
 
<!-- Select proper category, default is Self Contained Change -->
 
<!-- Select proper category, default is Self Contained Change -->
[[Category:SelfContainedChange]]
+
<!-- [[Category:SelfContainedChange]] -->
<!-- [[Category:SystemWideChange]] -->
+
[[Category:SystemWideChange]]

Latest revision as of 14:30, 11 October 2013


Contents

[edit] Ruby on Rails 4.0

[edit] Summary

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

[edit] Owner

[edit] Current status

[edit] 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.

[edit] 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.

[edit] 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

[edit] 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

[edit] 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

[edit] User Experience

  • New version of Ruby on Rails (4.0) available

[edit] 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:

[edit] 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

[edit] Documentation

[edit] Release Notes