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.