3

スペック ファイルで %define タグを使用して変数を定義し、rpmbuild コマンドを使用して RPM をビルドする場合 ... %pre でその値を更新し、後で使用することはできますか?

4

1 に答える 1

6

いいえ。

%defineマクロは、スペック ファイル内で常に上から下に再評価されるため、ループを作成することはできません。

%globalマクロは 1 回限りです。

例、「requires」処理に関する別の質問から:

%global _use_internal_dependency_generator 0
%global __find_requires_orig %{__find_requires}
%define __find_requires %{_builddir}/%{?buildsubdir}/build/find-requires %{__find_requires_orig}

%defineを宣言していた場合__find_requires_orig、マクロ ループでエラーになります。

これで質問の答えが得られない場合は、探している情報や最終目標を詳しく説明してください。


到着予定時刻:

%preとの%postセクションには、RPM がビルドされた時点からハードコードされたマクロが既に含まれています。追加の実行時決定が必要な場合は、それらのシェル スクリプトで実行する必要があります。

于 2013-01-26T16:05:58.690 に答える