【发布时间】:2021-02-02 02:40:52
【问题描述】:
我正在尝试创建一个 RPM (my-main-rpm),它有 10 多个依赖项(其中大部分不是我制作的),但我想先安装另一个我创建的 RPM (my-rpm-prerequisite)。这个my-rpm-prerequisite RPM 创建/修改了一些需要在安装其他依赖项之前完成的文件。
我希望能够使用单个命令安装整个 rpm:dnf/yum/zypper install my-main-rpm,它应该安装所有依赖项。但我希望该命令首先安装my-rpm-prerequisite
有什么办法可以做到吗?
或者有什么方法可以在安装依赖项之前执行脚本?
【问题讨论】:
-
您可以使用
Requires(pre)进行订购,但前提是它们是您自己的 RPM。如果您没有将它们全部打包,则不能说“在perl之前安装我”或类似的话;这只是一个免费的。 -
这违背了 RPM 的编写方式,这就是为什么没有真正简单的方法来做到这一点。事务是准原子的;所有承诺的文件/RPM 将在最后出现。你的最终目标是什么?什么是 prereq RPM 如此重要以至于它可能会影响不属于您的 RPM,但其重要性不足以放入 Kickstart / Puppet / 等?
标签: rpm yum rpmbuild rpm-spec zypper