RPM 사양 파일에서 현재 빌드 플랫폼이 Scientific Linux인지 테스트하는 방법은 무엇입니까?

RPM 사양 파일에서 현재 빌드 플랫폼이 Scientific Linux인지 테스트하는 방법은 무엇입니까?

현재 빌드 플랫폼이 사양 파일의 Scientific Linux인지 테스트하고 싶습니다. 그러나 저는 플랫폼이 Scientific Linux인 경우에만 이 테스트가 true를 반환하기를 원합니다. 따라서 유사한 플랫폼 CentOS 및 Red Hat Enterprise Linux라도 이 테스트에서 true를 반환할 수 없습니다. 가능합니까?

답변1

Scientific Linux 7.2에는 특정 매크로가 없는 것 같습니다. 대신 다음에서 복사된 콘텐츠 rpm만 표시합니다 .rhel

# rpm --showrc | egrep -i 'sci|rhel'
-14: rhel       7

자신만 의 /etc/rpm/macros매크로를 설정하는 대신 시스템이 제대로 작동하지 않을 경우 실패할 ~/.rpmmacros코드를 파일에 작성할 수 있을 것 같습니다 .*.spec

%prep
%setup -q
fgrep -q 'Scientific Linux' /etc/redhat-release || exit 1

관련 정보