在 rpm 包中使用宏

發佈在 Fedora 郵件列表中 建議 標準化 RPM 規範檔案中的宏,可讓您為 RPM 套件新增在建置階段選擇編譯標誌和其他相依性的功能。

使用示例:

%如果%{使用ssl}
建置要求:openssl-devel
%萬一

準備百分比
%configure %{use_enable ssl openssl}

%檢查
進行測試 %{?_use_ssl:-DSSL}

在本例中,當在spec檔案中指定USE宏ssl時,將會新增對openssl-devel套件的額外依賴,並在啟用--enable-openssl選項的情況下執行設定步驟,並進行對應的測試在構建期間執行。

假設建置選項將由二進位巨集%_use_指定帶有額外的包裝,例如:

  • %{使用} – 取值0或1,
  • %{使用_啟用[ [ ]]} – 擴展為“禁用-” 或--啟用- 。

將這種類型的選項新增至規範檔案將允許您從相同的來源編譯不同版本的發行版。

例如,要最小化建立依賴關係樹,您可以使用全域參數 %{use docs},這會停用文件的建置。

您可以透過配置建置環境來設定適當的選項集。 此外,選項可以全域設置,也可以透過為每個包單獨重新定義它們來設定。

該提案尚未被接受,正在討論中。

來源: linux.org.ru

添加評論