Chapter 1. Red Hat Software Collections 1.0

1.1. About Red Hat Software Collections

For certain applications, more recent versions of some software components are often needed in order to use their latest new features. Red Hat Software Collections is a Red Hat offering that provides a set of dynamic programming languages, database servers, and various related packages that are either more recent than their equivalent versions included in the base Red Hat Enterprise Linux system, or are available for this system for the first time. For a complete list of components that are distributed as part of Red Hat Software Collections and a brief summary of their features, see Section 1.2, “Main Features”.
Red Hat Software Collections does not replace the default system tools provided with Red Hat Enterprise Linux 6. Instead, a parallel set of tools is installed in the /opt directory and can be optionally enabled per application by the user using the supplied scl utility. The default versions of Perl or PostgreSQL, for example, remain those provided by the base Red Hat Enterprise Linux system.
With the notable exception of Node.js, all Red Hat Software Collections components are fully supported under Red Hat Enterprise Linux Subscription Level Agreements, are functionally complete, and are intended for production use. Important bug fixes and security errata are issued to Red Hat Software Collections subscribers in a similar manner to Red Hat Enterprise Linux for at least three years from the release of each major version. A new major version of Red Hat Software Collections is released approximately every 18 months, and in each major release stream, each version of a selected component remains backward compatible.

1.2. Main Features

Red Hat Software Collections 1.0 provides recent versions of the tools listed in Table 1.1, “Red Hat Software Collections 1.0 Components”.

Table 1.1. Red Hat Software Collections 1.0 Components

Component Software Collection Description
Perl 5.16.3 perl516 A recent stable release of Perl with a number of additional utilities, scripts, and database connectors for MySQL and PostgreSQL. This version provides a large number of new features and enhancements, including new debugging options, improved Unicode support, and better performance.
PHP 5.4.14 php54 A recent stable release of PHP with PEAR 1.9.4 and a number of additional utilities. This version provides new language syntax, a built-in web server for the command line, and improved performance.
Python 2.7 python27 A recent stable release of Python with a number of additional utilities and database connectors for MySQL and PostgreSQL. This version provides various new features and enhancements, including a new ordered dictionary type, faster I/O operations, and improved forward compatibility with Python 3.
Python 3.3 python33 A recent stable release of Python 3 with a number of additional utilities and a database connector for PostgreSQL. This Software Collection gives developers on Red Hat Enterprise Linux 6 access to Python 3 and allows them to benefit from various advantages and new features of this version.
Ruby 1.9.3 ruby193 A recent stable release of Ruby with Rails 3.2.8 and a large collection of Ruby gems. This Software Collection gives developers on Red Hat Enterprise Linux 6 access to Ruby 1.9, which provides a number of new features and enhancements, including improved Unicode support, enhanced threading, and faster load times.
MariaDB 5.5 mariadb55 A recent stable release of MariaDB. This Software Collection gives users of Red Hat Enterprise Linux 6 an alternative to MySQL, which is binary compatible with MariaDB and can be replaced with it without any data conversions.
MySQL 5.5 mysql55 A recent stable release of MySQL. This version provides a number of new features and enhancements, including improved performance.
PostgreSQL 9.2 postgresql92 A recent stable release of PostgreSQL. This version provides a number of new features and enhancements, including cascading replication, native JSON support, improved scalability, and better performance.
Node.js 0.10[a] nodejs010 A recent stable release of Node.js with npm 1.2.17 and support for the SPDY protocol[b]. This Software Collection gives users of Red Hat Enterprise Linux 6 access to this programming platform.
[a] In Red Hat Software Collections 1.0, Node.js is included as a Technology Preview. For more information about Red Hat Technology Previews, see https://access.redhat.com/support/offerings/techpreview/.
[b] This feature is not fully supported on Red Hat Enterprise Linux 6.

1.3. Compatibility Information

Red Hat Software Collections 1.0 is available for the following versions of the Red Hat Enterprise Linux system on AMD64 and Intel 64 architectures:
  • Red Hat Enterprise Linux 6.2 Extended Update Support
  • Red Hat Enterprise Linux 6.3 Extended Update Support
  • Red Hat Enterprise Linux 6.4

1.4. Known Issues

nodejs-hawk component
The nodejs-hawk package uses an implementation of the SHA-1 and SHA-256 algorithms adopted from the CryptoJS project. In this release, the client-side JavaScript is obfuscated. The future fix will involve using crypto features directly from the CryptoJS library.
python-virtualenv component
The virtualenv tool of version 1.7.2 does not create the python2 and python27 symlinks to the python interpreter. This causes scripts to be broken after the virtualenv --relocatable command is run. To work around this problem, the symlinks need to be created manually after running virtualenv.
postgresql92 component
The postgresql92 package does not provide the sepgsql module as this feature requires installation of libselinux version 2.0.99, which is not available in Red Hat Enterprise Linux 6.
python27 and python33 components
Due to a bug in the redhat-rpm-config package, it is not possile to rebuild the python27 and python33 packages on Red Hat Enterprise Linux 6.2 Extended Update Support.
nodejs component
On the Server variant, a file conflict between the ruby193-v8-debuginfo and nodejs010-v8-debuginfo packages can occur when attempting to install both debuginfo packages.
coreutils component
Some utilities, for example, su, login or screen do not export environment settings in all cases, which can lead to unexpected results. It is therefore recommended to use sudo instead of su and set the env_keep environment variable in the /etc/sudoers file. Alternatively, you can run commands in a reverse order; for example:
su -l postgres -c "scl enable postgresql92 psql"
instead of
scl enable postgresql92 bash
su -l postgres -c psql
When using tools like screen or login, you can use the following command to preserve the environment settings: source /opt/rh/<collection_name>/enable.
ruby, perl components
When uninstalling the perl or ruby packages, some directories and files might not be removed properly and will remain on the system.
php component
Note that Alternative PHP Cache (APC) in Red Hat Software Collections 1.0 is provided for user data cache only.
mariadb, mysql, postgresql components
Red Hat Software Collections contains the MySQL 5.5, MariaDB 5.5 and PostgreSQL 9.2 databases. The core Red Hat Enterprise Linux 6 provides earlier versions of these databases (client library and daemon). Client libraries are also used in database connectors for dynamic languages, libraries etc.
Client libraries packaged in the Red Hat Software Collections database packages are not supposed to be used as they are included only for purposes of server utilities and the daemon. Users are instead expected to use the system libraries and database connectors provided with the core system.
A protocol which is used between the client library and the daemon is stable across database versions, so using, for example, the MySQL 5.1 client library with the MySQL 5.5 daemon works as expected.
mariadb, mysql components
MySQL and MariaDB do not make use of the /opt/<provider>/<collection>/root prefix when creating log files. Note that log files are saved in the /var/log/ directory, not /opt/<provider>/<collection>/root/var/log/.