[devel] repocop patches for %post/un_ldconfig
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Апр 15 17:08:37 MSD 2008
On Mon, Apr 14, 2008 at 09:29:21PM +0300, Igor Vlasenko wrote:
> Вопрос, какой генерировать патч по тестам на
> missing %post_ldconfig/%postun_ldconfig.
>
> +%post -p %post_ldconfig
> +%postun -p %postun_ldconfig
> смотрятся эффектно, но есть риск, что
> 1) кто-то испугается, что у него стало две секции %post
rpm не потянет две секции %post.
> 2) кто-то не испугается и даже упростит потом до
> %post -p %post_ldconfig
> %update_menus
> :)
Так нельзя упростить. Это конструкция означает, что в качестве
интерпретатора будет запущен /sbin/ldconfig, и на stdin ему скормят
содержимое скрипта. Если скрипт будет побольше, то rpmi при установке
получит SIGPIPE. (Точнее, SIGPIPE он не получит, потому что он
сохраняет скрипт во временный файл, а не прокачивает его в интерпретатор
напрямую.)
Вообще, большая часть %post-like скриптов типична и сводится к тому,
что если в пакете есть файл или provides определённого шаблона, то нужно
дёрнуть соответствующий hook (возможно, с аргументами).
То есть в принципе это можно возложить на автоматику, но как хорошо эту
автоматику реализовать я не знаю. В принципе есть два подхода:
1) В rpmb автоматически комплектовать %post-like скрипты при сборке
пакта. Тогда каждый *.rpm пакет останется self-contained.
2) Модифицировать rpmi, чтобы он дёргал что надо прямо во время
установки. Тогда в пакетах %post-like скрипты можно вообще не писать,
но это будет неявная зависимость на "вумный" rpmi.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20080415/a525c955/attachment-0002.bin>
Подробная информация о списке рассылки Devel