linux - RPM 规范文件未在同一包中执行两个触发器

标签 linux triggers rpm rpm-spec

我有一个小要求,我需要同时执行两个触发器(在同一个包上)但不幸的是 RPM 规范文件一次只执行一个触发器(以先到者为准)。

谁能告诉我如何执行以下两个触发器......?

%triggerpostun -- odc#SHRTVER_NODOT#
%triggerpostun -- odc1010 <= 10.10.01.00

在这里,SHRTVER_NODOT --> 1010

第一个将对所有版本执行(它必须,例如:900,910,1000,1010 ...)
第二个只有在找到特定版本时才执行(仅 10.10.01.00)

我尝试在 spec 文件中切换这两个触发器,它工作正常(代码明智!)但一次只有一个触发器(以先到者为准)。

谁能告诉我如何制作规范文件来执行这两个触发器。

感谢您的帮助!

编辑::

谢谢,但这篇文章提到了规范文件中不同类型的触发器和执行方式。我的规范文件中还有其他几个触发器,但不幸的是,它们都不会产生这种行为。

%triggerin -- odc < 10.10.01.00
%triggerpostun -- odc

像这样,我还有两个触发器,但只要找到所需的版本包,它们就会完美执行。

最佳答案

一些旧版本的 RPM 只对每种类型的每个包执行一个触发器。 rpm-4.4.2.2(在 RHEL5/CentOS5 中?)可能属于此类

关于linux - RPM 规范文件未在同一包中执行两个触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37522094/

相关文章:

google-apps-script - 通过 Google App Script 在 Google Sheet 上编辑多行时如何获得真实范围

linux - 确定 yum 软件包安装到的路径

linux - 打包 RPM,避免创建 .rpmnew 文件

linux - scp 传输后禁止访问网站

c# - 为什么 SQL Server 触发器在使用 Entity Framework 插入后不触发?

linux - 在 Linux 网桥上过滤掉 VLAN 标记的数据包

mysql - 根据mysql中的时间创建自动更新行

python - 将 RPM 的内容提取到 Python 中的临时目录中

linux - 在 OpenSuSE 11.4 上安装 Perl 的 WWW::Mechanize::Firefox - 导致一些烦人的错误

linux - 如何在 BASH 中从 CGI 开始下载?