FedoraとopenSUSEで動作するディストリビューション間でバイナリRPMパッケージを構築しようとしています。Require:
依存関係パッケージ名を設定するためにタグを使用しています。問題は、各GNU / Linuxディストリビューションストアのパッケージ名が異なることです。
読む:http://goo.gl/3MXSq、 '%if 0%{?suse_version} ' ステートメントを使用して、リリース間の .spec ファイルを提供します。つまり、依存関係リストは、インストール時間ではなくビルド時間に決定されます。
バイナリRPMパッケージ内に条件付きdepsリストを設定する方法はありますか?
ベストアンサー1
はい、あなたがリンクしたopenSUSE Wikiページのリンクはこれについて詳しく説明しているので、これは間違いなく可能です。これを行ういくつかのベンダーもあります。Fedora / openSUSE用のgoogle-chrome RPMパッケージ(他のrpmディストリビューションでもうまく機能します)は、主要なrpmディストリビューションをカバーする1つのrpmパッケージしかありません。
しかし、あなたはあなたのニーズに注意を払う必要があります。Requires:
必要なバイナリなどの一般的なパッケージを区別する必要があります。手動で追加する必要があります。ファイル名の要件(例Requires: /usr/bin/sendmail
:)も無視され、一部のディストリビューションではファイルを少し異なる場所に配置するため、移植性がありません。
バージョンが指定されていない共通ライブラリパッケージの場合、Requires:
これは通常常に間違っています。彼らrpmのビルド中に自動的に追加されました。まれに、主にライブラリパッケージに特定のバージョンを適用し、明示的なバージョン管理要件を追加する必要があります。これは例えば説明される。http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires