Rpm

rpm 規範文件 buildrequires 具有多個標準

  • September 19, 2015

是否可以在 rpm 規範文件中指定能夠建構您需要的軟體包版本大於同時低於某些東西?

例如,我想指定 python >= 2.7 和 < 3.0。

可以用 buildrequires 完成嗎?如果可能的話,語法是什麼?

因為我沒有看到任何這樣的例子,所以我在想:

BuildRequires: python &gt;= 2.7
BuildRequires: python &lt; 3.0

你在你的問題中提出了正確的例子,這個:

BuildRequires: python &gt;= 2.7
BuildRequires: python &lt; 3.0

是正確的方法。

但是,如果您對經典的 Requires 部分使用相同的架構,則必須小心。如果你放:

Requires: python &gt;= 2.7
Requires: python &lt; 3.0

在您的規範文件中,並且包 python-3.0 進入您的 yum 儲存庫之一,yum 會將其作為更新提供,這將在您的“yum update”執行中導致依賴性問題。執行會因錯誤而中止,避免它的唯一方法是放置:

exclude=python-3*

到您的 repo 部分,或使用以下命令執行它:

yum update --exclude=python

如果只對 BuildRequires 使用這種方法,除非在執行 yum-builddep 之前安裝包 python-3.0,否則不會有問題。在這種情況下,您需要先將其刪除。

引用自:https://serverfault.com/questions/723471