ディストリビューション間のバイナリRPMパッケージを構築するには?

ディストリビューション間のバイナリRPMパッケージを構築するには?

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

おすすめ記事