rpm パッケージでマクロを使用する

Fedora メーリング リストで公開 提案 RPM 仕様ファイル内のマクロを標準化し、ビルド段階でコンパイル フラグと追加の依存関係を選択する機能を RPM パッケージに追加できるようにします。

使用例:

%if %{SSL を使用する}
ビルド要件: openssl-devel
%endif

%準備
%configure %{use_enable ssl openssl}

% 小切手
テストを行う %{?_use_ssl:-DSSL}

この例では、仕様ファイルで USE マクロ ssl を指定すると、openssl-devel パッケージへの依存関係が追加され、--enable-openssl オプションを有効にして構成ステップが実行され、対応するテストが実行されます。ビルド中に実行されます。

ビルド オプションはバイナリ マクロ %_use_ によって指定されることが想定されています。 次のような追加のラッパーを使用します。

  • %{使用} – 値0または1を受け取ります。
  • %{use_enable [ [ ]]} – —disable- に展開されますまたは --有効化- 。

このタイプのオプションを仕様ファイルに追加すると、同じソースから異なるバージョンのディストリビューションをコンパイルできるようになります。

たとえば、ビルドの依存関係ツリーを最小化するには、ドキュメントのビルドを無効にするグローバル パラメーター %{use docs} を使用できます。

ビルド環境を構成することで、適切なオプションのセットを設定できます。 さらに、オプションはグローバルに設定することも、パッケージごとに個別に再定義することによっても設定できます。

この提案はまだ受け入れられておらず、議論中です。

出所: linux.org.ru

コメントを追加します