rpm - RPM 规范决定首先安装哪个依赖项
问题描述
我正在尝试创建一个my-main-rpm
包含 10 多个依赖项(其中大部分不是我制作的)的 RPM(),但我想先安装另一个my-rpm-prerequisite
我创建的 RPM()。此my-rpm-prerequisite
RPM 创建/修改一些需要在安装其他依赖项之前完成的文件。
我希望能够使用单个命令安装整个 rpm:dnf/yum/zypper install my-main-rpm
它应该安装所有依赖项。但我希望该命令首先安装my-rpm-prerequisite
有什么办法可以做到这一点吗?
或者有什么方法可以在安装依赖项之前执行脚本?
解决方案
Requires
正如克里斯所说,这是不可能实现的。但是如果你“只”想要执行一些脚本,还有其他方法。
首先,您可以在 中指定my-rpm-prerequisite.spec
:
Supplements: rpm-prerequisite
这样,默认安装将安装 my-rpm-prerequisite 作为 rpm-prerequisite 的增强。
其次,您指定%pretrans
脚本。它在事务开始时运行。请参阅https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#pretrans
但请注意,即使在安装基本系统时也可能会执行 %pretrans。所以系统(或chroot)上没有安装任何东西。所以应该是用Lua写的,由rpm自己解释。
推荐阅读
- ios - 当我的应用分屏加载时,为什么没有正确安装自动布局约束?
- c# - XAML x:类泛型
- python - 在特定目录中使用 open() 创建一个新的 csv 文件
- java - 如何让 JFormattedTextField 浮动或对齐到最左边?
- r - 什么会导致聚合多边形和栅格数据的缺失值?
- javascript - 如何使用类 [Plain Javascript] 用另一个元素包装一个元素?
- c++ - C ++如何将char *精确转换为double?
- python-3.x - NLTK 命名实体类别标签
- python - python绘图标签的粗体文本
- java - StepExecutionListener 中的 Spring 批处理事务