У меня есть две проблемы, которые я хотел бы найти решение:
Я переименовываю пакет munin 2.0, и в файле SPEC для RPM я должен сделать устаревшими исходные пакеты munin.
При замене существующего пакета munin 1.x в составе скриптлетов postun munin-node пользователь munin удаляется.
postuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
/usr/sbin/userdel munin || logger -t munin/rpm "User \"munin\" could not be deleted."
# /usr/sbin/groupdel munin || logger -t munin/rpm "Group \"munin\" could not be deleted."
fi
Когда я заменяю существующий пакет munin 2.0, postun удаляет содержимое каталога плагинов.
postuninstall scriptlet (using /bin/sh):
if [ "$1" = "0" ]; then
[ -d /etc/munin/plugins ] && \
find /etc/munin/plugins/ -maxdepth 1 -type l -print0 | \
xargs -0 rm || :
fi
Так как yum устанавливает новый пакет, а затем запускает посты для старого пакета и $1 = 0
, в обоих случаях он запустит скрипты после того, как мои пакеты будут установлены. Есть ли способ обойти это?