是否有可能在一个rpm spec文件中指定要生成一个你需要的软件包版本大于和低于某个值?
例如,我想指定python> = 2.7和<3.0。
可以用buildrequires来完成,如果可能,语法是什么?
正如我没有看到任何这样的例子,我正在想:
BuildRequires: python >= 2.7 BuildRequires: python < 3.0
你已经在你的问题中提出了正确的例子:
BuildRequires: python >= 2.7 BuildRequires: python < 3.0
是做到这一点的正确方法。
但是,如果对经典的“需求”部分使用相同的模式,则必须小心。 如果你把:
Requires: python >= 2.7 Requires: python < 3.0
在你的spec文件中,python-3.0软件包input你的yum repos之一,yum会提供它作为一个更新,这将导致你的“yum更新”运行中的依赖问题。 运行会中止一个错误,只有这样才能避免它会是要么:
exclude=python-3*
到您的回购部分,或运行它:
yum update --exclude=python
如果你只对BuildRequires使用这种方法,除非在运行yum-builddep之前安装了python-3.0软件包,否则不会有问题。 在这种情况下,您需要先将其删除。