FreeSource : AltLinux/Sisyphus/devel/SpecTips/triggers

Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

RPM triggers


Начинающий майнтейнер (судя по себе) вполне способен сделать достаточно нетривиальные в идентификации и особенно исправлении ляпы. Одним из наиболее характерных примеров является удаление псевдопользователя, созданного в секции %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 и %pre

2) пакет обновляется (удаляется старый и ставится одновременно новый)
[ $1 -eq 2 ] в %post и %pre, [ $1 -eq 1 ] в %preun и %postun

3) пакет вообще удаляется из системы
[ $1 -eq 0 ] в %preun and %postun

Более подробно см. http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html

Epiphanov Sergei, Sir Raorn, Vladimir Kamarzin

Страницы, ссылающиеся на данную: AltLinux/Sisyphus/devel/TypicalPackagingErrors/SonameUpdate
AltLinux/Sisyphus/devel/spectips