rpmbuild:さまざまなディストリビューションのパッケージ名の違いを処理します。

rpmbuild:さまざまなディストリビューションのパッケージ名の違いを処理します。

私のソフトウェアをビルドするためにRPM仕様ファイルを作成しています。このソフトウェアは次のように異なります。暗号化++。 Crypto++ はディストリビューションによって名前が異なるように指定されます。たとえば、OpenSUSEでは、次のように書く必要があります。

BuildRequires: libcryptopp-devel

しかし、Fedoraではそうする必要があります。

BuildRequires: cryptopp-devel

さて、2つを1つの仕様ファイルに統合する方法は?

答え1

この場合、pkgconfig(cryptopp)pkg-configを使用するパッケージは両方の構文を使用できます。Fedoraの帽子そしてただし、これはpkgconfigの特別なケースであり、他の場合は条件を使用する必要があります。

%if 0%{?fedora}
BuildRequires: cryptopp-devel
%endif

%if 0%{?suse_version}
BuildRequires: libcryptopp-devel
%endif

%if 0%{?mageia}
BuildRequires: lib64cryptopp-devel
%endif

関連情報