Updated scl-utils packages that fix several bugs are now available for Red Hat Enterprise Linux 6.
The scl-utils packages provide a runtime utility and RPM packaging macros for packaging Software Collections. Software Collections allow users to concurrently install multiple versions of the same RPM packages on the system. Using the scl utility, users may enable specific versions of RPMs, which are installed into the /opt directory.
- Previously, detection of collections that were specified to be enabled was done in the incorrect place in the code. Thus, if users wanted to enable multiple collections with a single command, only the first one was enabled, while the rest were ignored. With this update, the package scans all the arguments now, as opposed to the original approach where only the first one was taken, and all specified collections are now enabled.
- When starting an inspection of what collections had already been enabled, an incorrect variable was taken as a source of this information. In a specific case, when users ran a shell in an scl-enabled environment, and tried to enable an already-enabled collection, then the collection was enabled twice. This could have led to errors in a newly created environment, and, consequently, could have caused problems with applications running in this environment. This update accepts the correct variable as a source of information about the already-enabled collections, and the collections are no longer enabled multiple times.
- Previously, python27 required a specific byte compiler, thus, the build of python27 collection failed, because it used the incorrect byte compiler. With this update, python27 utilizes a new function to override various RPM macros and, thus, can be compiled.
- If the PATH variable was not set as scl-utils expected it, executing the "scl enable" command produced a "command not found" error. This was caused by the scl utility calling the scl_enabled command without an absolute path, and relying on the PATH that the user has set. This update uses an absolute path when calling the scl_enabled helper script, thus it does not rely on PATH any more, and the aforementioned errors no longer occur.
- Previously, when enabling collections, a check whether a collection was enabled was performed. However, independently of the result the collection was always enabled. Consequently, if a single collection had been stated multiple times on the command line, it was enabled multiple times. In the case of some destructive enable scriptlets, this might have led to unexpected behavior. This update runs the enable scriptlet only if the collection has not been enabled before, and attempts to enable a collection multiple times in one environment will be ignored.
Users of scl-utils are advised to upgrade to these updated packages, which fix these bugs.