RPM规范要求特定的RHEL版本

在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的依赖性检查中没有失败。

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 

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

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

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