Начинающий майнтейнер (судя по себе) вполне способен сделать достаточно нетривиальные в идентификации и особенно исправлении ляпы. Одним из наиболее характерных примеров является удаление псевдопользователя, созданного в секции %pre пакета для обеспечения разделения привилегий при работе кода...
Для того, чтобы понять происходящее, заглянем в документацию RPM:
Для справки: порядок, в котором выполняются скрипты при обновлении одного пакета:
Наиболее типичная проблема, которая может потребовать этого знания, описана тут.
Вторая — переименование сервиса; примером предложен пакет etcnet:
(raorn@)
Параметры для post скриптов.
* @param arg1 no. instances of package installed after scriptlet exec
* (-1 is no arg)
* @param arg2 ditto, but for the target package
1) пакет ставится в систему в первый раз
[ $1 -eq 1 ] в %post и наверно [ $1 -eq 0 ] в %pre
2) пакет обновляется (удаляется старый и ставится одновременно новый)
[ $1 -eq 2 ] в %post и [ $1 -eq 1 ] в %postun и %pre
3) пакет вообще удаляется из системы
[ $1 -eq 0 ] в %postun
Epiphanov Sergei, Sir Raorn.