Rpm

如何在 rpm 規範中將 Requires 連結到 BuildRequires?

  • May 27, 2014

假設我有這樣的Requires條目:

Requires: a
Requires: b
Requires: c

現在我要聲明的是:

BuildRequires: <<Requires>>

意思是,對於建構,我需要安裝所需的一切。因此,如果我在第一部分中刪除或添加某些內容,我將不必再編輯第二部分,因為它將被“連結”。

問題是——如何表達這種依賴?

我知道這樣的方案不適合公共包,但我要求家庭使用——我只為我和我的家人準備快速包,它們不分發。

簡單的答案是定義一個宏,它被替換到兩個位置。

%define my_common_requires package-1, package-2, package-3

BuildRequires: %{my_common_requires}
Requires:      %{my_common_requires}

這也使您可以手動定義需要在兩行之一中但不能同時在兩者中的內容。

看起來

BuildRequires:  %{requires}

“正常工作”——至少在 RPM 版本為 4.8.0 的 RHEL6 上

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