如果前提条件失败,如何停止meta-rpm事务?

我目前有一个元包rpm包含其他rpm包的依赖列表。

如果预安装脚本失败(即,返回0以外的值),我想停止元程序包(以及所有后续程序包)的更新/安装事务。

我试图通过在元包预安装脚本中的testing条件,似乎是合理的,但这是发生了什么事情:

# yum update my-package 
  1. 元软件包检查哪些相关软件包将不得不被更新/安装
  2. 运行元包预安装脚本并失败(在这种情况下)
  3. 继续更新程序并更新后续软件包(!)

因此,我最终处于以下情况:

  • 元软件包版本不更新
  • 所有相关的软件包可能会更新到更新的版本

如果元程序包包含其他程序包所需的数据,这可能会导致一些严重的问题。

如果预安装条件失败,有什么办法可以停止完整的事务吗?

注意 :我也尝试了rpm命令的更新过程,也没有工作。