How to Create Dependent Software Collections

Are you fed up by enabling multiple collections, which are dependent on themselves? We were. For example, thermostat needs mongo, mongo needs v8.  Enabling them looks like:

scl enable thermostat1 mongodb24 v8314 bash

There another reason to use dependent collections:  when you are missing packages in a RHSCL collection and you want to add them. Obviously, we don’t plan to package everything because some packages have high maintenance costs or they are changing too fast even for two or three years of support.

Dependent collections have been available since RHSCL 1.1 and are supported by scl-utils-20131017 and higher.

Continue reading “How to Create Dependent Software Collections”


How to package initscripts and unit files for Software Collections

In previous articles we mentioned tips on how to package collections, but we never wrote about initscripts, which are one reason why daemons are harder to package as a collection.

I’ve picked a short(er) initscript to show what has to be modified if you want to run your initscript in a collection. Below is the diff between the mongodb initscript and collection version of the mongodb initscript. Currently, logfiles, pidfiles and configuration files are stored mostly as in the example below, but it depends on the packager. One needs to check where daemon, configuration etc. has been installed and change the initscript accordingly. This example shows generic changes.

Continue reading “How to package initscripts and unit files for Software Collections”

Share 2014 – visit these sessions!

The Developer Conference in Brno will be held February 7-9th. I’d like to invite you to these interesting presentations prepared by my colleagues.

DevAssistant – What’s in it for you
Friday, February 7 • 11:30 – 12:10
DevAssistant is a new tool that targets both development beginners and seasoned coders. It can set up development environment, kickstart new projects in various languages and frameworks and install dependencies. Plugins for are in the road map.

Continue reading “ 2014 – visit these sessions!”

Share 2014 – Developer Conference in Brno

You might already heard about DevConf conference in Brno (February 7-9th). If not, it’s an open conference for all Linux and JBoss Developers, Admins and advanced Linux users organized by Red Hat Czech Republic. There will also be a lab dedicated to Software Collections on Friday 3:50-5:20.  Maintainers of Red Hat Software Collections will attend the lab, so you have great opportunity to ask how to add new modules into a Ruby collection or whatever bothers you.
What’s the lab content?
  • We’ll be presenting how to build collections.
  • We can show you how to build your collection locally or in copr.
  • But most of all we are looking forward to your questions.

The conference program will be available at:


Software Collections on Red Hat Enterprise Linux

Did you ever wish you had newer versions of the software on your Red Hat Enterprise Linux machines? You are probably not alone. Providing new versions of software in rpm is hard, because rpm supports only one version installed on your computer at a time. Multiple versions on one machine can conflict with each other or create unpredictable behaviour in applications that you might not have considered dependencies.

Last year, we developed Software Collections to allow you to install newer versions of software in rpm safely into /opt and switch between new and old releases. This allows your Red Hat Enterprise Linux system applications to continue to run with the old version, while new apps can work with the new version. A good example of this is Python; many essential packages are written in Python. How can you update to the latest release of Python without causing half your system to break? Through Software Collections, you can install a newer version of Python – for example python-3.3 – into /opt avoiding conflicts in files and strange behaviour of apps that depend on an older version of Python.

I have multiple collections on my RHEL-6 machine for testing purposes. Let’s see all of them:

[root@rhel-6-marcela ~]# scl -l

How can you install those collections?
These collections are located as testing repositories on various “people pages.” You can add their repository into your /etc/yum.repos.d/:

Continue reading “Software Collections on Red Hat Enterprise Linux”