Упаковка Debian: измените порядок dh_installinit и dh_ucf

#package #debian #packaging

#пакет #debian #упаковка

Вопрос:

У меня есть простой пакет Debian, который использует debian /пакет.init и debian /package.default для установки сценариев инициализации, и debian /package.ucf для предоставления файлов конфигурации (шаблона).

У меня нет никаких переопределений в debian / rules, и при установке / обновлении пакета процедура следует этому порядку:

  • служба остановлена
  • пакет установлен / обновлен
  • служба запущена
  • Вызван UCF

Моя проблема в том, что если conf-файлы по-прежнему являются файлами по умолчанию, которые поставляются с пакетом, они обновляются (все хорошо), но затем требуется ручной перезапуск / перезагрузка службы для чтения новых файлов конфигурации.

Есть ли какая-нибудь магия debian / rules, которую я могу вызвать, чтобы отложить запуск службы до тех пор, пока UCF as (потенциально) не скопирует новые конфигурационные файлы в / etc?

Большое спасибо,

Комментарии:

1. Поведение, которое вы наблюдаете, явно является ошибкой. Вы должны сообщить об этом.

Ответ №1:

Не могли бы вы попробовать вызвать dh_ * скрипты в другом порядке? Например, что-то подобное в debian/rules :

 override_dh_installinit:
    echo "dh_installinit is delayed until dh_ucf is run"

override_dh_ucf:
    dh_ucf $@
    dh_installinit $@
  

Возможно, это может изменить порядок фрагментов кода, созданных debhelper, что приведет к желаемому поведению.