rpmbuild:处理不同发行版中包的命名差异

rpmbuild:处理不同发行版中包的命名差异

我正在编写一个 RPM 规范文件来构建我的软件。该软件取决于加密++。 Crypto++ 在不同的发行版上有不同的命名,例如,在 OpenSUSE 上,我应该写

BuildRequires: libcryptopp-devel

但在 Fedora 上,应该是

BuildRequires: cryptopp-devel

现在,如何将两者统一在一个规范文件中?

答案1

在这种情况下你应该能够使用pkgconfig(cryptopp).使用 pkg-config 的软件包可以在两者中使用此语法软呢帽苏世,但这是 pkgconfig 的特殊情况,在其他情况下您需要使用条件:

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

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

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

相关内容