RPM仕様ファイルでオペレーティングシステムの条件付きビルド要件をどのように指定しますか?

RPM仕様ファイルでオペレーティングシステムの条件付きビルド要件をどのように指定しますか?

問題を解決するために、仕様ファイルのBuildPrereqフラグを使用しようとしています。 OSが特定のバージョンの場合は、いくつかの前提条件を含めたいと思います。それはまるで

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

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

上記の目的を達成する方法はありますか?これに代わるものも聞きたいです。問題は、特定のバージョンのオペレーティングシステムでコンパイルする必要がないコードスニペットがあることです。それで、条件付きコンパイルと上記の内容を混在させようとしています。

乾杯!

答え1

作成した内容をspecfileマクロに直接変換するには:

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

おそらく最初のものを%endifanに変更することができますが、%else他のケースが関連する場合に備えて、書き換えをできるだけ似たままにしたいと思いました。

fc4とf10以降のFedoraバージョンをサポートするには、> =と<=を使用することもできます。 RHELを念頭に置いている場合、%{rhel}RHEL4の評価値は4、RHEL5の評価値は5です。

関連情報