基于操作系统的 rpm 构建

基于操作系统的 rpm 构建

我是构建 rpm 的新手,我需要构建一个 rpm,它将根据操作系统版本(例如 rhel5 和 rhel6)安装 2 组独立的文件。是否可以?如果是,怎么办?如果没有,我假设我需要创建 2 个单独的 rpm,例如 rpm-a-rhel5.rpm 和 rpm-a-rhel6.rpm。但我如何确保 rpm-a-rhel6.rpm 不能安装在 rhel5 中,反之亦然。我需要在 case1/case2 的规范文件中检查什么?有什么想法,请指教。

谢谢。

答案1

RPM 规范文件具有条件和变量,可让您构建一个 RPM,该 RPM 将根据版本更改已完成或已安装的内容。

%if 0%{?rhel} = 6
Requires: 
%endif

然而,rpmbuild执行此操作时,跑步并不会减少效果。你需要使用mock.我强烈建议您阅读 fedora 的 rpm 指南。

https://fedoraproject.org/wiki/How_to_create_an_RPM_package

至于您的其他问题,您无法阻止安装基于发行版的 RPM。通常取决于包的要求来导致依赖块。执行此操作的依赖项:Requires: redhat-release >= 6.3.

相关内容