From Fedora Project Wiki


Ruby193 in SCL

Summary

Ruby 1.9.3 with Rails 3.2.8 is still commonly used by many projects. Let's provide Ruby and Rails in SCL even for Fedora. Rails depends on exact v8 version, which means v8 3.14 must have also their own SCL as part of the SCL.

Owner

  • Name: MarcelaMašláňová
  • Email: mmaslano@redhat.com
  • Release notes owner:
  • Responsible WG: Env and Stacks WG

Current status

Detailed Description

Ruby 1.9.3 with Rails 3.2.8 is still commonly used by many projects. This change aims to provide Ruby 1.9.3 and Rails 3.2.8. Rails depends on exact v8 version, which means v8 3.14 must have also their own SCL as part of this change.

Benefit to Fedora

All application dependent on older Ruby and Rails can run happily. Ruby SCL was picked, because many Cloud projects is still dependent on older version of Rails. It would be wise to provide them Fedora, where they can develop their application without being pushed to maintain apps on various Rails releases.

Scope

  • Proposal owners: Marcela
    • create the actual collections, at start in Copr and on SCL upstream
  • Other developers: Cloud WG
    • test SCL with their apps
  • Release engineering:
    • create branches in dist-git
    • add Ruby193 packages into compose

Upgrade/compatibility impact

Ruby193 will be installed outside of the regular system. No problem for system packages.

How To Test

For users:

0. Install SCL

1. Run your favourite application on the collection

eg. scl enable ruby193 'foreman'

For developers:

0. Install SCL

1. Create your own application for older version of language (change shebang in your script to /opt/fedora/ruby193/...)

User Experience

Two major use-cases:

  • developers will develop their apps - they will need to change shebang of application for example from /usr/bin/ruby to something like /opt/fedora/ruby/...
  • users of apps, which already depend on SCL, can happily use their app, which is finally working

Dependencies

  • create one SCL
  • co-operate with relengs
    • branches in dist-git
    • modify buildroot (add into minimal buildroot scl-utils and scl-utils-build) - it might be valid only for packages for specific branches
  • FPC ticket

Contingency Plan

  • Contingency mechanism: If something went bad, we could still use Copr repository for providing SCL.
  • Contingency deadline: 1.7.2014
  • Blocks release? No.
  • Blocks product? Yes, it might block Cloud WG if they depend on Ruby193.

Documentation

There will be a process documentation in form of wiki pages. User documentation already exists.

Release Notes

Documentation of the collection will be provided as soon as collection is ready.