SysV initスクリプトではなく、systemdサービスを使用して.debを生成します。

SysV initスクリプトではなく、systemdサービスを使用して.debを生成します。

既存の Debian パッケージに systemd サービスファイルを追加しようとしています。フォローするhttps://wiki.debian.org/Teams/pkg-systemd/Packagingdebian/packagename.serviceだから私のdebhelperバージョンは9.xなので、私も次のことをしました。

  • 次へdh-systemd追加Build-Dependsdebian/control
  • コマンド--with systemdに追加されました。dhdebian/rules

再構築パッケージを使用すると、debuild -i -us -uc -b次の出力で失敗します。

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

ファイルがある場合は、ビルドスクリプトにinit.dスクリプトが必要なようです.service。実際に生成されたコンテンツには、DEBIAN/postinst次のセクションが含まれます。

# 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

これが予想される動作ですか?ファイルを含めるときは常にSysV initスクリプトを含める必要がありますか.service?それ以外の場合、このセクションが生成されないように推奨される方法は何ですか?

私のシステムはDebian Jessieです。

答え1

オーバーレイはdh_installinit私にとって効果的です。次の項目に追加しましたdebian/rules

override_dh_installinit:
        true

それでもsystemdデバイスをインストールし、すべてが期待どおりに機能しているようです。

しかし、これが期待される動作かバグかはまだわかりません。私はDebian StretchやSidではテストしておらず、Jessieでのみテストしました。

関連情報