Сбой установки RPM программно на этапе спецификации

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

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

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

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

2 ответа

Решение

Оказывается, если вы выходите в %pre Этап установки RPM не удастся.

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

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

%pre
df /data|awk 'END{if ($2 < 10000000) exit 1;}'; 
if [ $? == 1 ]; 
    then echo ERROR not enough space;exit 1;
fi
Другие вопросы по тегам