Search code examples
linuxrpm-spec

RPM spec to require specific RHEL release


In an RPM spec file, what is a good way of requiring a minimum RHEL distribuition? I tried to make RHEL 6.3 a prerequisite using:

Requires: redhat-release-server-6Server >= 6.3

This blocks the install on 6.2 and 6.3 with:

error: Failed dependencies:
    redhat-release-server-6Server >= 6.3 is needed by my.package-1.2.0-0.x86_64

I also tried:

Requires: redhat-release >= 6.3

which did not fail the dependecy check on either 6.2 or 6.3.


Solution

  • The redhat-release-server-6Server-6.3.0.3.el6.x86_64 (on my system) seems to be a good candidate as a prerequisite. See http://rhn.redhat.com/errata/RHEA-2012-0971.html . What is not obvious for a novice looking at the package name is that "6Server" is actually the package version. "rpm -q --info" make this clear, though:

    $ rpm -q redhat-release-server-6Server --info
    Name        : redhat-release-server        Relocations: (not relocatable)
    Version     : 6Server                           Vendor: Red Hat, Inc.
    Release     : 6.3.0.3.el6                   Build Date: Wed 30 May 2012 11:19:03 AM PDT
    Install Date: Tue 02 Oct 2012 09:48:26 AM PDT      Build Host: x86-003.build.bos.redhat.com
    Group       : System Environment/Base       Source RPM: redhat-release-server-6Server-6.3.0.3.el6.src.rpm
    Size        : 38585                            License: GPLv2
    Signature   : RSA/8, Wed 30 May 2012 12:19:55 PM PDT, Key ID 199e2f91fd431d51
    Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
    Summary     : Red Hat Enterprise Linux Server release file
    Description :
    Red Hat Enterprise Linux Server release files
    

    So the correct directive is:

    Requires: redhat-release-server >= 6Server-6.3