如何从 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

相关内容