Quick Start

Using Software Collections

  1. Find a Software Collection (SCL) you are interested in. You can browse through the available SCLs in our Directory. We will use the rh-python35 SCL as an example.
  2. On CentOS, install the SCL release package `centos-release-scl`:

    yum install centos-release-scl
  3. On RHEL, enable the RHSCL repository. Note that you may also need to enable the Optional channel and attach a subscription providing access to RHSCL to be able to use that repository.

    yum-config-manager --enable rhel-server-rhscl-7-rpms
  4. Install the main SCL package (its name is identical to the name of the Software Collection):
    yum install rh-python35
  5. Start using the Software Collection you just installed:
    scl enable rh-python35 bash

For more usage examples and documentation of more complex scenarios, see the Software Collections Packaging Guide.

If you need any help, you can ask your question on StackOverflow using the software-collections tag.

Building Software Collections

  1. Read the Software Collections Packaging Guide to learn how to build SCLs locally.
  2. Read the copr tutorial to learn how to build packages in copr.

    Note that:

    • Packages built using copr or the CentOS Build System can be included in our Directory.
    • Software Collections built in copr are created with an additional suffix based on the packager's user name (%{copr_username}), i.e. the SCL metapackage name is %{copr_username}-%{copr_projectname}.
      See the Package Layout and Package Names chapters in the Software Collections Packaging Guide for an explanation of standard naming conventions for SCLs.
    • To build packages with copr, add the following lines to the top of your SCL's metapackage spec file:
      # If the build is running on copr
      %if 0%{?copr_username:1}
      
      # define your copr_username and copr_projectname
      %global scl %{copr_username}-%{copr_projectname}
      
      # For other build systems, define the provider and the name of the SCL, e.g. myorganization-ruby193
      %else
      %global scl_name_prefix myorganization-
      %global scl_name_base ruby
      %global scl_name_version 193
      
      %global scl %{scl_name_prefix}%{scl_name_base}%{scl_name_version}
      %endif

      See the Creating a Metapackage chapter in the Software Collections Packaging Guide for instructions on how to prepare a metapackage spec file for your SCL.