RPM规范要求特定的RHEL版本

时间:2012-11-13 22:34:20

标签: linux rpm-spec

在RPM规范文件中,要求最小RHEL分布的好方法是什么?我尝试使用以下方法使RHEL 6.3成为先决条件:

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

这将阻止6.2和6.3上的安装:

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

我也尝试过:

Requires: redhat-release >= 6.3

对6.2或6.3的依赖检查没有失败。

2 个答案:

答案 0 :(得分:2)

redhat-release-server-6Server-6.3.0.3.el6.x86_64(在我的系统上)似乎是一个很好的候选者作为先决条件。见http://rhn.redhat.com/errata/RHEA-2012-0971.html。对于查看包名称的新手而言,显而易见的是“6Server”实际上是包版本。 “rpm -q --info”明确表示:

$ 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

所以正确的指令是:

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

答案 1 :(得分:0)

我建议不要求特定版本的RHEL,而是要求只出现在目标版本中的依赖项(例如RHEL 6.3)

以下不仅会导致您提到的问题,还会阻止客户端和工作站用户的安装(6Client6Workstation

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