Файлы предоставляемые пакетом apache2-mod_php5-control-5.3.3.20100722-alt2.2 (%_sysconfdir/control.d/facilities/* и %php5_sysconfdir/%php5_sapi/control.d/*) не помечены макросом %config. => при обновлении пакета будут переписаны _без_ создания резервной копии, даже если они привились руками. Возможность сохранения ручных настроек важна для адаптацию под задачу и для сохранения оной при обновлениях.
Это и не есть конфигурационные файлы, и их не надо править под задачу. Если стоит задача делать что-то из control'а, то надо просто сделать ещё один файл (пакет) с другим поведением.
Почему? Чем они отличаются по сути? Да, создание кастомизированного конфига под задачу -- вариант более предпочтительный (более дистрибутивный, как минимум). Но вынуждение адменистратора помимо foo (дистрибутивный конфиг под задачу, для zabbix, например) иметь и его личный my_foo -- вариант не лучший: 1. Невидно когда его надо синхронизировать с дистрибутивным. (Если отредактирован foo отмеченный как %config -- признаком необходимости синхронизации служит появление *.rpm*.) 2. Молчаливая замена в /etc файлов, изменённых вручную -- достаточно часто ломает рабочую конфигурации при обновлении. Такие разломы как минимум неприятны (а иногда и не очевидны).
Необоснованную _молчаливую_ замену ручных правок в /etc -- считаю ошибкой.
/etc содержит множество файлов, не являющихся конфигурационными (исполняемыми скриптами). Т.к. в control нет поддержки никаких других каталогов, кроме /etc, то это ошибкой не является. Впрочем, всё равно решать мейнтейнеру - меня наличие control'а не интересует.
> /etc содержит множество файлов, не являющихся конфигурационными (исполняемыми > скриптами). Т.к. в control нет поддержки никаких других каталогов, кроме /etc, > то это ошибкой не является. В данном случаи, файлы %php5_sysconfdir/%php5_sapi/control.d/* конечно скрипты. Но по суте своей исполняемые конфиги, т. к. содержат практически только список подлежащих установки параметров с их значениями (вызовы вида php_rule $mode "<имя параметра>" <значение>). Управляющая логика в данных файлах отсутствует. В спеке control (см http://sisyphus.ru/ru/srpm/Sisyphus/control/spec) присутствует определение: %config %_sysconfdir/control.d Т. е. всё содержимое %_sysconfdir/control.d считается конфигами (и меня это неоднократно выручало) => и %_sysconfdir/control.d/facilities/* предоставляемые данным пакетом стоит отметить аналогично. > Впрочем, всё равно решать мейнтейнеру - меня > наличие control'а не интересует. В spec`е мантейнер не указан. По ACL -- мантейнер пакета rider@ ;-) $ ssh git.alt acl sisyphus apache2-mod_php5 show apache2-mod_php5 rider @everybody По git`у, автор обсуждаемого пакета apache2-mod_php5-control -- Sergey Kurakin <kurakin@...>. Я подпасал его на данную багу. PS: Я готовлю NMU с данными правками.
Предлагаемое исправление: http://git.altlinux.org/people/solo/packages/apache2-mod_php5.git?p=apache2-mod_php5.git;a=commit;h=688234db996e2fcb80a2ca48b573c37c557b1758
apache2-mod_php5-5.3.3.20100722-alt2.3 -> sisyphus: * Mon Oct 25 2010 Aleksey Avdeev <solo@altlinux> 5.3.3.20100722-alt2.3 - control(8) fix: + backup files (~|\.rpm(save|new)) are excluded from processing (Closes: #24413) + use %config for files subpackage %name-control (Closes: #24412)