On Mon, Mar 10, 2008 at 09:33:56PM +0300, Nikolay A. Fetisov wrote: > > Выполнение %post-like скриптов есть side effect на систему. > > Грубо говоря, не должно быть чистых side-effect пакетов. > > Side effect пакета на систему должен быть связан с файлами, > > которые запакованы в этом пакете. > > Почему _только_ с файлами? Пакет - это не только файлы, это и > зависимости. Конкретный пример, из приведённого выше списка: > > mailgraph-nginx-1.13-alt3.noarch.rpm > > В пакете стоит зависимость на nginx, в %post выполняется > конфигурирование программы для работы с этим сервером, $ rpm -qlvp /ALT/Sisyphus/files/noarch/RPMS/mailgraph-nginx-1.13-alt3.noarch.rpm (contains no files) $ rpm -qp --scripts /ALT/Sisyphus/files/noarch/RPMS/mailgraph-nginx-1.13-alt3.noarch.rpm postinstall scriptlet (through /bin/sh): # set facility at first package install if [ $1 -eq 1 ]; then /usr/sbin/control mailgraph nginx fi $ Этот пакет выполняет действие, которое должен выполнять системный администратор. Это действие остаётся непроверяемым и плохо учтенным -- после установки пакета администратор может вручную (повторно) сконфигурировать "control mailgraph" и факт установки пакета в систему уже ничего не означает. Как и факт удаления пакета из системы. > Т.е. варианты, когда в пустом пакете имеются скрипты %post и др. - > вполне допустимы и законны. Формально, конечно, ничто не мешает собирать какие вообще угодно пакеты. > Другой вопрос, если в таких пакетах не возможен поиск зависимостей > из-за особенностей текущей реализации поиска их - тогда необходима > соответствующая policy и добавление в пакет хоть чего-нибудь - > _в-общем-то лишнего_. Это, в общем, два разных вопроса. Невозможность поиска зависимостей в %post-скритпах при отсутствии какталог $RPM_BUILD_ROOT я не считаю сильной стороной реализации. :) А желательны или нежелательны чисто side-effect пакеты -- это другой вопрос.