我正在构建rpm
,该版本应可同时用于RHEL 6和7。
我能够根据0%{?rhel}
查找并安装正确的文件。
但是可以使安装后脚本以这种方式工作。如果我在安装后使用0%{?rhel}
,则在构建期间会将相应的脚本作为rpm的一部分。
是否可以在安装后的安装后部分中执行基于分发的脚本?
答案 0 :(得分:1)
否,我不建议这样做。 rpmbuild
将自动确定您的依赖关系,有些情况会有所不同。我建议在目标操作系统上构建您的rpm
以避免麻烦。
是,您可以使rpm在rhel 6和7上都可以使用。但是它不会那么干净,并且您将无法使用rpm宏,因为这些宏在构建过程中进行了评估。但是,您可以:
%post
. /etc/os-release
if [ ${VERSION_ID%%.*} -eq 7 ] && [ $ID == rhel ]
then
echo "on rhel 7"
else
echo "on $ID $VERSION_ID"
fi