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

関連情報