Сбой установки RPM программно на этапе спецификации - PullRequest
11 голосов
/ 28 октября 2010

Я делаю обороты.У этого конкретного RPM есть требования, которые нельзя выразить как предварительные требования RPM, давайте назовем их определенной конфигурацией файловой системы / диска.В настоящее время сбой происходит после установки, во время выполнения, когда требования не выполняются.

Я могу проверить необходимые предварительные условия в разделе% install моего скрипта.Тем не менее, я не могу понять, как завершить установку, если соблюдены определенные критерии.Можно ли завершить установку rpm во время выполнения через какой-либо триггер в разделе% install (или какой-либо другой)?

Пример будет выглядеть примерно так в файле .spec:

%install
if [ -f /some/file ]
then
    FAIL_RPM_INSTALL ## What is this command?
fi

Ответы [ 2 ]

17 голосов
/ 05 ноября 2010

Оказывается, что если вы выйдете на этапе %pre, установка rpm завершится неудачно.

%pre
if [ -f /some/file ]
then
    echo "/some/file exists, it shouldn't"
    exit 1
fi

Ссылка: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets

2 голосов
/ 20 августа 2012
%pre
df /data|awk 'END{if ($2 < 10000000) exit 1;}'; 
if [ $? == 1 ]; 
    then echo ERROR not enough space;exit 1;
fi
...