m (→Dependencies) |
m (→Scope) |
||
Line 88: | Line 88: | ||
<!-- What work do the feature owners 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 the feature owners 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?--> | ||
* Other developers: | * Other developers: If SCL is in Fedora, maybe some other project can use it for their work. | ||
<!-- 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?--> | ||
Revision as of 08:58, 3 April 2014
SCL
Summary
SCL - Software Collections - are popular packaging format above rpm. Let's enable them for Fedora.
Owner
- Name: MarcelaMašláňová
- Email: mmaslano@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 21
- Last updated: 26. 3. 2014
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
My first draft [1] is obsoleted by current state of SCL, Copr... I would keep the SCL workflow simple as possible.
Playground repo
1. Build SCL in Copr
2. Add SCL into Playground repo
Fedora main repo
0. Build SCL in Copr (or use existing SCL)
1. Do standard package review
2. Upload packages into git - specific branch based on Fedora version and name of collection. For stable repo we must be able to replicate builds from git repo, which Fedora own.
3. Build SCL in koji or magically add SCL builds from Copr (depends on preference of releng)
Benefit to Fedora
Cool programs depending on specific version of software can still run on Fedora. We see it often with Ruby (on Rails) projects like Puppet, Cloud projects (Katello, Foreman, OpenShift, OpenStack). All those cool apps can run on any Fedora, which will provide collection for them.
New versions of software can be also packaged as collection and tested it before inclusion into main Fedora repository in case the new version would seem to be to disruptive for rest of the system.
The Fedora Cloud Working Group would like to see this; it represents one of that product's key external needs. (See the Cloud Changelist.)
Scope
0. Approve SCL guidelines by FPC
1. Include one collection into Fedora Playground repository or into main Fedora repository (probably the one wanted by Cloud WG). It might be this one rebuild for Fedora http://copr.fedoraproject.org/coprs/rhscl/ruby193/. Updates of some gems or addition of other gems might be needed. Review by Cloud projects is needed.
- Proposal owners: Marcela, ...
- Other developers: If SCL is in Fedora, maybe some other project can use it for their work.
- Release engineering: Magically add SCLs builds into compose or set up koji for SCLs.
- Policies and guidelines:
Upgrade/compatibility impact
SCL will be safely installed outside of the main system. No conflicts, no updates.
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/language/...)
User Experience
Two major use-cases:
- developers will develop their apps - they will need to change shebang of application for example from /usr/bin/perl to something like /opt/fedora/perl516/usr/bin/perl
- 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
- FPC ticket
Contingency Plan
- Contingency mechanism: If something went bad, we could still use Copr repository for providing SCL.
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? No.
- Blocks product? Yes, it might block Cloud WG if they depend on SCL for their installation.
Documentation
N/A (not a System Wide Change)