Search

3.16. Differences Between Red Hat Enterprise Linux 6 and 7

download PDF
The RPM Package Manager in Red Hat Enterprise Linux 7 ships with a number of feature changes that are not available in the older version of the RPM Package Manager shipped with Red Hat Enterprise Linux 6.
This section provides more details on the changes that may affect you when building your Software Collection packages for both systems.

3.16.1. The %license Macro

The %license macro allows you to specify the license file to be installed by your package. The macro is only supported by the RPM Package Manager in Red Hat Enterprise Linux 7. When building your Software Collection package on both Red Hat Enterprise Linux 6 and 7, declare the %license macro for Red Hat Enterprise Linux 6 as follows:
%{!?_licensedir:%global license %%doc}

3.16.2. Missing runtime Subpackage Dependencies

On Red Hat Enterprise Linux 7, the scl tool automatically generates the needed Requires on the Software Collection runtime subpackage. This does not work on Red Hat Enterprise Linux 6. When building your Software Collection for that system, you need to explicitly specify the dependency on the runtime subpackage in each Software Collection package:
Requires: %{?scl_prefix}runtime

3.16.3. The scl-package() Provides

By design, building a Software Collection package generates a number of Provide: scl-package() tags. The purpose of these is to internally identify the built package as belonging to a specific Software Collection. The tags are detailed in the following table.
Table 3.2. Provides in Red Hat Enterprise Linux 7
Software Collection package
Provide
${software_collection_1}
scl-package(software_collection_1)
${software_collection_1}-build
scl-package(software_collection_1)
${software_collection_1}-runtime
scl-package(software_collection_1)
Red Hat Enterprise Linux 6 ships with an older version of the RPM Package Manager, so as an exception, building the same package on Red Hat Enterprise Linux 6 only generates a single Provide: scl-package() tag, as detailed in the following table. This is an expected behavior and the differences are handled internally by the scl tool.
Table 3.3. Provide in Red Hat Enterprise Linux 6
Software Collection package
Provide
${software_collection_1}
scl-package(software_collection_1)
Do not use these internally generated dependencies to list packages that belong to a particular Software Collection. For information on how to properly list Software Collection packages, see Section 1.5, “Listing Installed Software Collections”.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.