RPM 사양 파일에서 운영 체제 조건부 빌드 요구 사항을 어떻게 지정합니까?

RPM 사양 파일에서 운영 체제 조건부 빌드 요구 사항을 어떻게 지정합니까?

문제를 해결하기 위해 사양 파일의 BuildPrereq 플래그를 사용하려고 합니다. OS가 특정 버전인 경우 몇 가지 전제 조건을 포함하고 싶습니다. 그것은 마치

if os == fedora 4
 BuildPrereq >= apr0.9
endif

if os == feodra 10
 BuildPrereq >= apr2.0
endif 

위의 목적을 달성할 수 있는 방법이 있나요? 이에 대한 대안도 듣고 싶습니다. 문제는 특정 버전의 운영 체제에서 컴파일할 필요가 없는 코드 조각이 있다는 것입니다. 그래서 조건부 컴파일과 위의 내용을 혼합하려고 생각 중입니다.

건배!

답변1

작성한 내용을 specfile 매크로로 직접 변환하려면:

%if 0%{?fedora} == 4
BuildPrereq >= apr0.9
%endif 
%if 0%{?fedora} == 10
BuildPrereq >= apr2.0
%endif

아마도 첫 번째 것을 %endifan으로 변경할 수 있지만 %else다른 경우가 관련된 경우를 대비해 재작성을 최대한 비슷하게 유지하고 싶었습니다.

fc4와 f10 이상 사이의 Fedora 버전을 지원하려면 >= 및 <=를 사용할 수도 있습니다. RHEL을 염두에 둔다면 %{rhel}RHEL4의 평가값은 4, RHEL5의 평가값은 5입니다.

관련 정보