Я пытаюсь сгенерировать пакет debian через cpack, который учитывает конфигурацию системы (например, не запускайте службу, если администратор этого не хочет) и не вызывает ошибок при установке в среде, свободной от systemd (как в некоторых образах докеров).
Моя текущая установка состоит из файла postinst и файла prerm, которые просто передаются cpack через файлы CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
. Эти вызовы systemctl enable/start/stop/disable
в обоих сценариях.
Из того, что я собрал, следует вызвать dh_installsystemd --name=foo foo.service
для запуска службы.
Однако замена systemctl enable foo.service
этим в моем файле postinst вызывает ошибку:
dh_installsystemd: error: "debian/control" not found. Are you sure you are in the correct directory?
dpkg: error processing package foo (--configure):
installed foo package post-installation script subprocess returned error exit status 255
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Errors were encountered while processing:
foo
Должен признаться, что я несколько потерялся в том, как с этим обращаться. Как правильно добавить службу systemd в пакет Debian через CPack?