【发布时间】:2019-08-06 13:15:09
【问题描述】:
我正在构建一个rpm,它应该可用于 RHEL 6 和 7。
我能够根据0%{?rhel} 找到并安装正确的文件。
但是是否可以在安装过程中使安装后脚本以这种方式工作。如果我在安装后使用0%{?rhel},则相应的脚本会在构建期间成为 rpm 的一部分。
是否可以在安装后部分的安装期间执行基于分发的脚本?
【问题讨论】:
我正在构建一个rpm,它应该可用于 RHEL 6 和 7。
我能够根据0%{?rhel} 找到并安装正确的文件。
但是是否可以在安装过程中使安装后脚本以这种方式工作。如果我在安装后使用0%{?rhel},则相应的脚本会在构建期间成为 rpm 的一部分。
是否可以在安装后部分的安装期间执行基于分发的脚本?
【问题讨论】:
否我不建议这样做。 rpmbuild 将自动确定您的依赖关系,有些事情会有所不同。我建议在其目标操作系统上构建您的rpm 以避免麻烦。
是的你可以制作一个在 rhel 6 和 7 上都可以工作的 rpm。但它不会那么干净,你也不能使用 rpm 宏,因为那些是在构建期间评估。但是,您可以:
%post
. /etc/os-release
if [ ${VERSION_ID%%.*} -eq 7 ] && [ $ID == rhel ]
then
echo "on rhel 7"
else
echo "on $ID $VERSION_ID"
fi
【讨论】: