Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
Software Collections on CentOSSoftware Collections on CentOS
Joe BrockmeierJoe [email protected]@redhat.comTwitter: @jzbTwitter: @jzbhttp://dissociatedpress.net/http://dissociatedpress.net/Principal Cloud & Storage AnalystPrincipal Cloud & Storage Analyst
Open Source and Standards (OSAS) at Red HatOpen Source and Standards (OSAS) at Red Hat
http://community.redhat.com/http://community.redhat.com/
2
Who's this guy?Who's this guy?
3
The Whats, Whys, and Hows of SCLsThe Whats, Whys, and Hows of SCLs
● The Packaging Problem We FaceThe Packaging Problem We Face
● What are Software Collections?What are Software Collections?
● Why, and when, to choose SCLs over other Why, and when, to choose SCLs over other solutions?solutions?
● How do I use SCLs?How do I use SCLs?
● Coming Soon... Coming Soon...
4
In the Beginning...In the Beginning...
5
Distributions as the Distributions as the Center of the UniverseCenter of the Universe
6
7
Developers do not want to be Developers do not want to be limited to system versions of limited to system versions of
softwaresoftware
8
Containers, PaaS, and Software Containers, PaaS, and Software Collections... Oh MyCollections... Oh My
SCALE 12x
Let's talk about Software CollectionsLet's talk about Software Collections
10
Do not require changes to RPMDo not require changes to RPM
11
Software Collections areSoftware Collections are not not just a just a different version packaged for your OSdifferent version packaged for your OS
12
Do not overwrite system filesDo not overwrite system files
13
Example: PHP 5.4
On CentOS 6.xOn CentOS 6.x
PHP 5.4 package isPHP 5.4 package is php54
This pulls in:This pulls in:
php54phpcli.x86_64
php54phpcommon.x86_64
php54phppear.noarch
php54phpprocess.x86_64
php54phpxml.x86_64
php54runtime.x86_64
Lives in:Lives in: /opt/rh/php54/root
14
Avoid conflicts with system filesAvoid conflicts with system files
15
Require Require minorminor changes to your changes to your existing spec filesexisting spec files
16
Do not conflict with updates on your Do not conflict with updates on your systemsystem
17
Nifty: Nifty: CanCan depend on other SCLs depend on other SCLs
SCALE 12x
Let's talk about using SCLsLet's talk about using SCLs
19
Software Collections CurrentlySoftware Collections Currently
● Red Hat Software Collections went GA on 12 Sept 2013
● CentOS announced SCLs 19 February 2014
● Fedora has SCLs on Fedora Hosted since 2013:
https://fedorahosted.org/SoftwareCollections/
20
What's Packaged for Software CollectionsWhat's Packaged for Software Collections
● Ruby 1.9.3
● Python 2.7
● Python 3.3
● PHP 5.4
● Perl 5.16.3
● Tech preview Node.js 0.10
● MariaDB 5.5
● MySQL 5.5
● PostgreSQL 9.2
21
Getting StartedGetting Started
● Assuming using a SLC with CentOS● yum install centosreleaseSCL
● yum install php54 (or whatever...)
● scl enable php54 “application option”
● Your application now uses PHP 5.4 ... the rest of the system ignores it.
● Python & Django with SCL (by Langdon White):● http://red.ht/scldjango
● Find packages for CentOS here: http://mirror.metrocast.net/centos/6.5/SCL/x86_64/
22
Packaging SCLs
● Grab the necessary packages (CentOS or Grab the necessary packages (CentOS or Fedora or RHEL 6.5):Fedora or RHEL 6.5): yum install sclutils sclutilsbuild
● Instructions on converting an existing Instructions on converting an existing package:package: http://bit.ly/sclspecfile
● For Conversion: For Conversion: spec2sclspec2scl
● General instructions on packaging SCLs:General instructions on packaging SCLs: http://bit.ly/pkgingscls
SCALE 12x
Coming SoonComing Soon
24
What will SoftwareCollections.org be?
● Upstream community for development of SCLs.
● Build and hosting services for collections.
● Resources (documentation, forums, mailing lists) for developers/packagers.
● An index of packaged software for users of CentOS, Fedora, RHEL, and other RPM-based distributions.
25
The Lifecycle of Collections
● SCLs can be used to provide newer software support on older releases, or (going forward) to provide legacy support on newer releases:
● Example: Application using Ruby on Rails N deployed on CentOS 6, via SCL. Same application deployed on CentOS 7 (when released) using SCL.
● OpenShift leverages SCLs for its cartridges using RHEL supported and non-supported components.
● SCLs can be used inside Docker containers to simplify container deployment.
Thanks!Thanks!
Joe BrockmeierJoe [email protected]@redhat.comTwitter: @jzbTwitter: @jzb