CentOS 6.5의 rpm 매크로

CentOS 6.5의 rpm 매크로

CentOS 6.5 시스템용 사양 파일을 생성하려고 합니다. rpm은 OS 버전에 따라 특정 Requires: 행을 추가하기 위해 버전을 확인해야 합니다.... 전혀 작동하지 않습니다.

사양 파일 조각:

%if 0%{?rhel} == 6
Requires: packageName
%endif
%description
Check dependencies and make OS modifications. 

%files

/etc/rpm/macros.dist:

# dist macros.

%rhel 6
%centos 6
%centos_ver 6
%dist .el6
%el6 1

내가 방문한 많은 웹 페이지에 따르면 코드는 작동해야 하지만 rpm을 설치할 때 packageName이 필요하다는 메시지를 받지 못했습니다. 내가 여기서 무엇을 놓치고 있는 걸까요?

고쳐 쓰다...

시스템을 다시 설치했는데 이제 모든 것이 잘 작동합니다. 테스트 시스템의 환경이 뭔가 엉망이 된 것 같습니다... 원래 코드가 이제 작동합니다.

답변1

%{?rhel}6.so 로 확장되므로 0%{?rhel}로 확장되고 06일치하지 않아야 합니다 6.

다음을 수행할 수 있습니다.

%if 0%{?rhel}
   Requires: packageName
%endif
%description
Check dependencies and make OS modifications. 

%files

0정의되지 않은 경우 %{rhel}확장됩니다. 06정의된 경우 확장됩니다. spec-file-land에서는 0값이 false이고 06값이 true입니다.

또는 RHEL/CENTOS 6.X만 일치시키려는 경우(모든 RHEL/CENTOS는 아님) 위와 동일한 논리에 따라 이 옵션을 사용하십시오.

%if 0%{?el6}
   Requires: packageName
%endif
%description
Check dependencies and make OS modifications. 

%files

관련 정보