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