измените имя сервисного файла при создании пакета

Как я могу создать сервис с именем, отличающимся от названия пакета?

Я готовлю пакет, который обеспечивает также сервисный файл (systemd конфигурация), который должен иметь имя, отличающееся от пакета.

В настоящее время я добавлял файл debian/pkg_name.service, и он работает, но имя не отражает запущенный сервис.

Я уже заметил это dh_installinit имеет a --name опция, но tha списки страницы справочника

debian/package.name.init, debian/package.name.default и debian/package.name.upstart вместо обычного debian/package.init, debian/package.default и debian/package.upstart

но не package.service. Кроме того, я действительно не понял, куда я должен поместить строку. В настоящее время мой debian/rules имеет

%:
        dh  $@ --with bash-completion --with systemd
0
задан 4 February 2016 в 11:26

2 ответа

Наконец я решил его со следующей конфигурацией:

  1. имя пакета является thunder-buildout-prod

  2. debian/oooctl.service как рассматриваемым

  3. в debian/rules:

%:
  dh  $@ --with bash-completion --with systemd --with python2

override_dh_systemd_enable:
  dh_systemd_enable -p thunder-buildout-prod debian/oooctl.service

override_dh_systemd_start:
  dh_systemd_start -p thunder-buildout-prod debian/oooctl.service

Как последнее примечание. Наличие сценария в/etc/init.d/oooctl (примечание: то же имя как сервис), что источники/lib/lsb/init-functions, этого достаточно для создания, это просто работать вызовом к systemctl начинать/останавливаться/состояние oooctl.service игнорирование остальной части сценария

1
ответ дан 26 July 2019 в 08:21

Согласно dh_systemd_enable руководство https://manpages.debian.org/testing/debhelper/dh_systemd_enable.1.en.html :

--name=name
    Install the service file as name.service instead of the default 
    filename, which is the package.service. When this parameter is 
    used, dh_systemd_enable looks for and installs files named 
    debian/package.name.service instead of the usual debian/package.service.

я нашел, что также необходимо передать имя к dh_installinit. Например, если бы Вашим пакетом был Амед "mytool", но Вы хотите, чтобы Ваш сервисный файл был mytoolsrv.service вместо mytool.service, то Вы создали бы файл debian/tool.toolsrv.service и поместили бы следующее в Вас debian/rules файл:

#!/usr/bin/make -f

%:
    dh $@

override_dh_systemd_enable:
    dh_systemd_enable --name=mytoolsrv

override_dh_installinit:
    dh_installinit --name=mytoolsrv

Протестированный с debhelper уровень совместимости 10.

0
ответ дан 26 July 2019 в 08:21

Другие вопросы по тегам:

Похожие вопросы: