[devel] %post-script prerequisites

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Сен 25 10:19:14 MSD 2008


On Wed, Sep 24, 2008 at 11:28:41PM +0400, Dmitry V. Levin wrote:
> > 1) пакет foo содержит программу /usr/bin/update-foo.
> > 2) /usr/bin/update-foo запускается в %post-срипте пакета foo.
> > 3) зависимость Requires(post): /usr/bin/update-foo естественным
> > образом оптимизируется (*), потому что на стадии выполнения %post-скрипта
> > файл /usr/bin/update-foo уже распакован (в любом случае, эта зависимость
> > ничего не дала бы).
> > 4) файл /usr/bin/update-foo слинкован с libglib-2.0.so.0(GLIB_2.18).
> > 
> > Тогда rpm имеет право установить/обновить пакет glib2 после пакета foo.
> > Остается полагаться на топологическую сортировку пакетов при установке
> > или обновлении, но она может не сработать (rpm всё ещё имеет право
> > переупорядочить пакеты невыгодным нам образом), и тогда %post-скрипт
> > обломится.
> 
> rpm пытается упорядочить установку пакетов согласно зависимостям.
> Невыгодное упорядочение может возникнуть только в случае, если имеет
> место цикл зависимостей, который был разорван неудачно.  Насколько
> это реально, в применении к описываемой ситуации с %post-скриптом?

На практике дублирование зависимостей Requires(post), скорее всего,
ничего не даст, кроме *гарантии*, что упорядочение всегда будет
правильным.  Но как раз нужна именно гарантия, иначе можно договориться
до того, что на практике зависимости Requires(pre) и Requires(post)
вообще не нужны.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080925/d62994e3/attachment-0002.bin>


Подробная информация о списке рассылки Devel