如果出错,如何退出rpm安装

时间:2012-03-29 19:58:10

标签: rpm rpmbuild rpm-spec

如果某些条件为false,我正在寻找退出rpm安装的方法。我在%pre部分添加了一个小脚本,如果条件失败,退出安装。

我面临的问题是我看到%pre scriptlet已执行,rpm安装失败。然而在最后我得到了这两行我不想要的东西 - 已安装......其次是完成!

Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
missing file zyWhg1. exiting install..
error: %pre(tyr-3.2.1.x86_64) scriptlet failed, exit status 255
error:   install: %pre scriptlet failed (2), skipping tyr-3.2.1

Installed: tyr-3.2.1.x86_64 0:3.2.1
Complete!

2 个答案:

答案 0 :(得分:4)

如果你需要这个只是为了确保文件系统中有某个文件,你可以做简单的

Requires: /path/to/expected/file

否则你的确可能会失败。

我可以想到非常丑陋的解决方案,这将涉及从scriptlet中杀死rpm,但这超出了邪恶: - )

答案 1 :(得分:0)

您是否尝试使用验证脚本? Writing Verification Scripts