オペレーティングシステムベースのrpmビルド

オペレーティングシステムベースのrpmビルド

私はrpmsの構築が初めてで、OSのバージョン(rhel5やrhel6など)に応じて2つの別々のファイルセットをインストールするrpmを構築する必要があります。可能ですか?それではどうですか?そうでない場合は、rpm-a-rhel5.rpmとrpm-a-rhel6.rpmなどの2つの別々のrpmを作成する必要があるとします。しかし、rpm-a-rhel6.rpmをrhel5にインストールすることはできませんが、その逆もどうやって保証できますか? Case1 / case2の仕様ファイルで何を確認する必要がありますか?アイデアがあればアドバイスをお願いします。

ありがとうございます。

ベストアンサー1

RPM仕様ファイルには、バージョンによって完了またはインストールされる内容が変更されるRPMを構築できる条件と変数があります。

%if 0%{?rhel} = 6
Requires: 
%endif

しかし、rpmbuild走っても効果は減りません。を使用する必要がありますmock。 fedoraのrpmガイドを読むことをお勧めします。

https://fedoraproject.org/wiki/How_to_create_an_RPM_package

他の質問については、ディストリビューションベースのRPMのインストールを防ぐことはできません。依存関係のブロックを引き起こすことは、通常、パッケージの要件によって異なります。これを行うための依存関係:Requires: redhat-release >= 6.3

おすすめ記事