Chapter 2. Installation

This chapter describes in detail how to get access to the content set, install Red Hat Software Collections 2.0 on the system, and rebuild Red Hat Software Collections.

2.1. Getting Access to Red Hat Software Collections

The Red Hat Software Collections content set is available to customers with Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7 subscriptions listed at https://access.redhat.com/solutions/472793. Depending on the subscription management service with which you registered your Red Hat Enterprise Linux system, you can either enable Red Hat Software Collections by using Red Hat Subscription Management, or by using RHN Classic. For detailed instructions on how to enable Red Hat Software Collections using RHN Classic or Red Hat Subscription Management, see the respective section below. For information on how to register your system with one of these subscription management services, see Using and Configuring Red Hat Subscription Manager.

2.1.1. Using Red Hat Subscription Management

If your system is registered with Red Hat Subscription Management, complete the following steps to attach the subscription that provides access to the repository for Red Hat Software Collections and enable the repository:
  1. Display a list of all subscriptions that are available for your system and determine the pool ID of a subscription that provides Red Hat Software Collections. To do so, type the following at a shell prompt as root:
    subscription-manager list --available
    For each available subscription, this command displays its name, unique identifier, expiration date, and other details related to it. The pool ID is listed on a line beginning with Pool Id.
  2. Attach the appropriate subscription to your system by running the following command as root:
    subscription-manager attach --pool=pool_id
    Replace pool_id with the pool ID you determined in the previous step. To verify the list of subscriptions your system has currently attached, type as root:
    subscription-manager list --consumed
  3. Display the list of available Yum list repositories to retrieve repository metadata and determine the exact name of the Red Hat Software Collections repositories. As root, type:
    subscription-manager repos --list
    Or alternatively, run yum repolist all for a brief list.
    The repository names depend on the specific version of Red Hat Enterprise Linux you are using and are in the following format:
    rhel-variant-rhscl-6-rpms
    rhel-variant-rhscl-6-debug-rpms
    rhel-variant-rhscl-6-source-rpms
    
    rhel-server-rhscl-6-eus-rpms
    rhel-server-rhscl-6-eus-source-rpms
    rhel-server-rhscl-6-eus-debug-rpms
    
    rhel-variant-rhscl-7-rpms
    rhel-variant-rhscl-7-debug-rpms
    rhel-variant-rhscl-7-source-rpms
    
    rhel-server-rhscl-7-eus-rpms
    rhel-server-rhscl-7-eus-source-rpms
    rhel-server-rhscl-7-eus-debug-rpms
    Replace variant with the Red Hat Enterprise Linux system variant, that is, server or workstation. Note that Red Hat Software Collections is supported neither on the Client nor on the ComputeNode variant.
  4. Enable the appropriate repository by running the following command as root:
    subscription-manager repos --enable repository
Once the subscription is attached to the system, you can install Red Hat Software Collections as described in Section 2.2, “Installing Red Hat Software Collections”. For more information on how to register your system using Red Hat Subscription Management and associate it with subscriptions, see Using and Configuring Red Hat Subscription Manager.

2.1.2. Using RHN Classic

If your system is registered with RHN Classic, complete the following steps to subscribe to Red Hat Software Collections:
  1. Display a list of all channels that are available to you and determine the exact name of the Red Hat Software Collections channel. To do so, type the following at a shell prompt as root:
    rhn-channel --available-channels
    The name of the channel depends on the specific version of Red Hat Enterprise Linux you are using and is in the following format, where variant is the Red Hat Enterprise Linux system variant (server or workstation):
    rhel-x86_64-variant-6-rhscl-1
    
    rhel-x86_64-server-6.5.z-rhscl-1
    rhel-x86_64-server-6.6.z-rhscl-1
    
    rhel-x86_64-variant-7-rhscl-1
    
    rhel-x86_64-server-7.1.eus-rhscl-1
    Red Hat Enterprise Linux 7 channels are accessible only through Red Hat Satellite instances.

    Note

    Red Hat Software Collections 2.x are distributed in the same channels as Red Hat Software Collections 1.x.
  2. Subscribe the system to the Red Hat Software Collections channel by running the following command as root:
    rhn-channel --add --channel=channel_name
    Replace channel_name with the name you determined in the previous step.
  3. Verify the list of channels you are subscribed to. As root, type:
    rhn-channel --list
When the system is subscribed, you can install Red Hat Software Collections as described in Section 2.2, “Installing Red Hat Software Collections”. For more information on how to register your system with RHN Classic, see Using and Configuring Red Hat Subscription Manager.

2.1.3. Packages from the Optional Channel

Some of the Red Hat Software Collections 2.0 packages require the Optional channel to be enabled in order to complete the full installation of these packages. For detailed instructions on how to subscribe your system to this channel, see the relevant Knowledgebase articles on Red Hat Customer Portal: https://access.redhat.com/solutions/392003 for Red Hat Subscription Management or https://access.redhat.com/solutions/70019 if your system is registered with RHN Classic.
Packages from Software Collections for Red Hat Enterprise Linux 6 that require the Optional channel to be enabled are listed in the following table.

Table 2.1. Packages Requiring Enabling of the Optional Channel in Red Hat Enterprise Linux 6

Package from a Software CollectionRequired Package from the Optional Channel
devtoolset-3-dyninst-testsuiteglibc-static
git19-git-cvscvsps
git19-perl-Git-SVNperl-YAML, subversion-perl
mariadb55-mariadb-benchperl-GD
mysql55-mysql-benchperl-GD
php54-php-imaplibc-client
php54-php-recoderecode
php54-php-imaplibc-client
php54-php-recoderecode
php55-php-imaplibc-client
php55-php-recoderecode
rh-mariadb100-mariadb-benchperl-GD
rh-mysql56-mysql-benchperl-GD
rh-php56-php-imaplibc-client
rh-php56-php-recoderecode
Software Collections packages that require the Optional channel in Red Hat Enterprise Linux 7 are listed in the table below.

Table 2.2. Packages Requiring Enabling of the Optional Channel in Red Hat Enterprise Linux 7

Package from a Software CollectionRequired Package from the Optional Channel
devassist09-devassistantpython-jinja2
devtoolset-3-buildscl-utils-build
devtoolset-3-dyninst-testsuiteglibc-static
devtoolset-3-easymockcglib, objectweb-asm
devtoolset-3-eclipse-platformsac
devtoolset-3-gcc-plugin-devellibmpc-devel
devtoolset-3-icu4j-javadocjava-1.7.0-openjdk-javadoc
devtoolset-3-jschjzlib
devtoolset-3-lucene-replicatorjetty-continuation, jetty-http, jetty-io, jetty-jmx, jetty-security, jetty-server, jetty-servlet, jetty-util
devtoolset-3-lucene-solr-grandparentaether-api, aether-connector-wagon, aether-impl, aether-spi, aether-util, aopalliance, apache-commons-compress, apache-commons-net, apache-parent, apache-resource-bundles, aqute-bndlib, bsf, bsh, buildnumber-maven-plugin, cdi-api, cglib, felix-bundlerepository, felix-framework, felix-osgi-compendium, felix-osgi-core, felix-osgi-foundation, felix-osgi-obr, felix-shell, felix-utils, google-guice, guava, jboss-ejb-3.1-api, jboss-jaxrpc-1.1-api, jboss-servlet-3.0-api, jsch, jsoup, jzlib, kxml, maven, maven-archiver, maven-artifact, maven-artifact-manager, maven-artifact-resolver, maven-dependency-tree, maven-enforcer-api, maven-enforcer-plugin, maven-enforcer-rules, maven-file-management, maven-filtering, maven-model, maven-monitor, maven-plugin-bundle, maven-plugin-registry, maven-profile, maven-project, maven-scm, maven-settings, maven-shared-io, maven-wagon, modello, nekohtml, objectweb-asm, plexus-archiver, plexus-build-api, plexus-cipher, plexus-classworlds, plexus-compiler, plexus-i18n, plexus-interpolation, plexus-io, plexus-resources, plexus-sec-dispatcher, plexus-utils, plexus-velocity, sisu-inject-bean, sisu-inject-plexus, woodstox-core, xbean, xz-java
devtoolset-3-mockitocglib, objectweb-asm
devtoolset-3-tika-parsers-epubapache-commons-compress, xz-java
git19-git-cvscvsps
git19-perl-Git-SVNsubversion-perl
httpd24-mod_ldapapr-util-ldap
php54-php-pspellaspell
php55-php-pspellaspell
python27-python-debugscl-utils-build, tix
python27-python-develscl-utils-build
python27-tkintertix
rh-perl520-perl-Pod-Perldocgroff
rh-php56-php-pspellaspell
rh-python34-python-develscl-utils-build
rh-python34-python-sphinxtexlive-threeparttable, texlive-wrapfig
Note that packages from the Optional channel are not supported. For details, see the Knowledgebase article https://access.redhat.com/articles/1150793.

2.2. Installing Red Hat Software Collections

Red Hat Software Collections is distributed as a collection of RPM packages that can be installed, updated, and uninstalled by using the standard package management tools included in Red Hat Enterprise Linux. Note that a valid subscription is required to install Red Hat Software Collections on your system. For detailed instructions on how to associate your system with an appropriate subscription and get access to Red Hat Software Collections, see Section 2.1, “Getting Access to Red Hat Software Collections”.
Use of Red Hat Software Collections 2.0 requires the removal of any earlier pre-release versions, including Beta releases. If you have installed any previous version of Red Hat Software Collections 2.0, uninstall it from your system and install the new version as described in the Section 2.3, “Uninstalling Red Hat Software Collections” and Section 2.2.1, “Installing Individual Software Collections” sections.
The in-place upgrade from Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7 is not supported by Red Hat Software Collections. As a consequence, the installed Software Collections might not work correctly after the upgrade. If you want to upgrade from Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7, it is strongly recommended to remove all Red Hat Software Collections packages, perform the in-place upgrade, update the Red Hat Software Collections repository, and install the Software Collections packages again. It is advisable to back up all data before upgrading.

2.2.1. Installing Individual Software Collections

To install any of the Software Collections that are listed in Table 1.1, “Red Hat Software Collections 2.0 Components”, install the corresponding meta package by typing the following at a shell prompt as root:
yum install software_collection...
Replace software_collection with a space-separated list of Software Collections you want to install. For example, to install php54 and rh-mariadb100, type as root:
~]# yum install php54 rh-mariadb100
This installs the main meta package for the selected Software Collection and a set of required packages as its dependencies. For information on how to install additional packages such as additional modules, see Section 2.2.2, “Installing Optional Packages”.

2.2.2. Installing Optional Packages

Each component of Red Hat Software Collections is distributed with a number of optional packages that are not installed by default. To list all packages that are part of a certain Software Collection but are not installed on your system, type the following at a shell prompt:
yum list available software_collection-\*
To install any of these optional packages, type as root:
yum install package_name...
Replace package_name with a space-separated list of packages that you want to install. For example, to install the rh-perl520-perl-CPAN and rh-perl520-perl-Archive-Tar, type:
~]# yum install rh-perl520-perl-CPAN rh-perl520-perl-Archive-Tar

2.2.3. Installing Debugging Information

To install debugging information for any of the Red Hat Software Collections packages, make sure that the yum-utils package is installed and type the following command as root:
debuginfo-install package_name
For example, to install debugging information for the rh-ruby22-ruby package, type:
~]# debuginfo-install rh-ruby22-ruby
Note that in order to use this command, you need to have access to the repository with these packages. If your system is registered with Red Hat Subscription Management, enable the rhel-variant-rhscl-6-debug-rpms or rhel-variant-rhscl-7-debug-rpms repository as described in Section 2.1.1, “Using Red Hat Subscription Management”. If your system is registered with RHN Classic, subscribe the system to the rhel-x86_64-variant-6-rhscl-1-debuginfo or rhel-x86_64-variant-7-rhscl-1-debuginfo channel as described in Section 2.1.2, “Using RHN Classic”. For more information on how to get access to debuginfo packages, see https://access.redhat.com/solutions/9907.

2.3. Uninstalling Red Hat Software Collections

To uninstall any of the Software Collections components, type the following at a shell prompt as root:
yum remove software_collection\*
Replace software_collection with the Software Collection component you want to uninstall.
Note that uninstallation of the packages provided by Red Hat Software Collections does not affect the Red Hat Enterprise Linux system versions of these tools.

2.4. Rebuilding Red Hat Software Collections

<collection>-build packages are not provided by default. If you wish to rebuild a collection and do not want or cannot use the rpmbuild --define 'scl foo' command, you first need to rebuild the metapackage, which provides the <collection>-build package.
Note that existing collections should not be rebuilt with different content. To add new packages into an existing collection, you need to create a new collection containing the new packages and make it dependent on packages from the original collection. The original collection has to be used without changes.
For detailed information on building Software Collections, refer to the Red Hat Software Collections Packaging Guide.