RPM 사양 파일: Requires 버전을 빌드할 때 사용되는 BuildRequires 버전에 연결하는 방법은 무엇입니까?

RPM 사양 파일: Requires 버전을 빌드할 때 사용되는 BuildRequires 버전에 연결하는 방법은 무엇입니까?

내 사양 파일에 다음이 있다고 가정해 보겠습니다.

BuildRequires: foo-devel

어떤 버전의 foo가 사용되는지는 상관하지 않습니다.

그리고

%package bar
Summary:
Group:
Requires: foo = %{foo_devel_version}
%description

foo가 빌드에 사용된 foo-devel과 동일한 버전이기를 요구하고 싶습니다.
이 목표를 어떻게 달성할 수 있나요?

빌드 시 BuildRequires사용 중인 패키지 버전을 어떻게 알 수 있나요? rpm에 내장된 솔루션이 있나요? 아니면 비슷한 작업을 수행해야 합니까 %global foo_devel_version %(rpm -q foo-devel --qf "%{VERSION}")?

답변1

내가 아는 한, rpmbuild에는 그러한 메커니즘이 없습니다. 그러나 rpmbuild종속성은 자동으로 결정되므로 라이브러리 버전을 올바르게 사용하면(SONAME 사용) rpmbuildlibfoo.so.1 또는 libfoo.so.2에 종속되는지 자동으로 감지됩니다. 따라서 정확한 마이너 버전은 감지하지 못하지만 API 수준(급격한 변경 사항)에서는 도움이 될 것입니다.

관련 정보