Criando .deb com o serviço systemd mas sem scripts init SysV

3

Estou tentando adicionar um arquivo de serviço systemd a um pacote Debian existente. Eu segui o link , então criei debian/packagename.service . Como meu debhelper é a versão 9.x, também:

  • adicionou dh-systemd a Build-Depends em debian/control
  • adicionou --with systemd ao comando dh em debian/rules .

Agora, quando eu reconstruo o pacote com debuild -i -us -uc -b , ele falha com essa saída:

Now running lintian...
[...]
W: packagename: init.d-script-not-marked-as-conffile etc/init.d/packagename
E: packagename: init.d-script-not-included-in-package etc/init.d/packagename

Parece que o script de construção espera um script init.d se houver um arquivo .service . E, de fato, o DEBIAN/postinst gerado inclui esta seção:

# Automatically added by dh_installinit
if [ -x "/etc/init.d/infinoted" ]; then
        update-rc.d infinoted defaults >/dev/null
        invoke-rc.d infinoted start || exit $?
fi
# End automatically added section

Esse comportamento é esperado? Devo sempre incluir scripts de init do SysV quando incluo um arquivo .service ? Se não, qual é a maneira recomendada de evitar a geração desta seção?

Meu sistema é o Debian Jessie.

    
por segfault 19.02.2017 / 15:20

1 resposta

0

Substituir dh_installinit funcionou para mim. Acabei de adicionar isso a debian/rules :

override_dh_installinit:
        true

Ele ainda instala a unidade systemd e tudo parece funcionar como esperado.

Mas ainda não sei se isso é um comportamento esperado ou um bug. Note que eu não testei isto no Debian Stretch ou Sid, apenas no Jessie.

    
por 19.02.2017 / 15:32