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

관련 정보