2012-03-29 138 views
4

我正在尋找一種方法來退出rpm安裝,如果某些條件爲false。如果條件失敗,我在%pre部分中添加了一個小腳本,它將退出安裝。如何在出現錯誤時退出rpm安裝

我面對的問題是我看到%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! 

回答

4

如果你需要做只是爲了確保沒有在文件系統中的某些文件,您可以做簡單的

Requires: /path/to/expected/file 

否則,你確實是運氣不好可能的。

我能想到極其醜陋的解決方案,將涉及從腳本小程序內殺死轉的,但這超出了邪惡:-)

+1

如果在安裝時需要,請使用爲此支持的RPM。前面部分是針對特殊情況的。 – user318904 2012-03-31 21:08:30