Сбой установки 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