Linux

如何在 RPM 規範文件中指定作業系統條件建構要求?

  • March 15, 2011

我正在嘗試使用規範文件中的 BuildPrereq 標誌來解決問題。如果作業系統是特定版本,我希望包含一些先決條件。就像是

if os == fedora 4
BuildPrereq >= apr0.9
endif

if os == feodra 10
BuildPrereq >= apr2.0
endif 

有沒有辦法實現上述目標?我也想听聽一些關於這個的替代方案。問題是我有一段程式碼不需要在幾個版本的作業系統上編譯。所以我正在考慮混合條件編譯和上述內容。

乾杯!

要將您編寫的內容直接轉換為 specfile 宏:

%if 0%{?fedora} == 4
BuildPrereq >= apr0.9
%endif 
%if 0%{?fedora} == 10
BuildPrereq >= apr2.0
%endif

您可能可以將第一個更改%endif為 an,%else但我想讓我的重寫盡可能相似,以防涉及其他情況。

如果您想支持 fc4 和 f10 或更高版本之間的 fedora,您也可以使用 >= 和 <=。如果您關心 RHEL,那麼%{rhel}對於 RHEL4 的評估結果為 4,對於 RHEL5 的評估結果為 5。

引用自:https://unix.stackexchange.com/questions/9296