[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