Linux RPM spec文件未在同一个包中执行两个触发器

Linux RPM spec文件未在同一个包中执行两个触发器,linux,triggers,rpm,rpm-spec,Linux,Triggers,Rpm,Rpm Spec,我有一个小要求,我需要同时执行两个触发器(在同一个包上),但不幸的是RPM规范文件一次只执行一个触发器(以先到者为准) 有人能告诉我如何执行以下两个触发器吗 %triggerposton--odc#SHRTVER#u NODOT# %TriggerPoston--odc1010 1010 第一个将对所有版本执行(必须执行,例如:90091010001010…) 只有在找到特定版本(仅10.10.01.00)时,才能执行第二个版本 我尝试在spec文件中切换这两个触发器,它工作得很好(代码方面!)

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

有人能告诉我如何执行以下两个触发器吗

%triggerposton--odc#SHRTVER#u NODOT#
%TriggerPoston--odc1010 1010

第一个将对所有版本执行(必须执行,例如:90091010001010…)
只有在找到特定版本(仅10.10.01.00)时,才能执行第二个版本

我尝试在spec文件中切换这两个触发器,它工作得很好(代码方面!),但一次只能切换一个触发器(以先到的为准)

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

谢谢你的帮助

编辑::

谢谢,但本文介绍了spec文件中不同类型的触发器和执行方式。我的spec文件中还有几个其他触发器,但不幸的是,它们都没有出现这种行为

%triggerin--odc<10.10.01.00
%Triggerposton--odc


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

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

。。。可能是。。。似乎有一个与此相关的bug。我试图找到一种解决方法,提取正在卸载的软件包的版本;但由于这是一个“姿势”触发器;我们不能再提取那个版本号了。有一种方法可以使用“poston”和“un”触发器的组合,并将版本存储到临时文件中,从而获得一个非常糟糕的解决方案……是的,对于解决方案,我将两个脚本组合在同一个触发器中,但不幸的是,我的新脚本(只应执行一个版本)将与其他脚本一起针对每个版本执行。我不明白我该怎么解决这个问题。。?所以,我创建了两个触发器,但这里一次只执行一个触发器。。