Add native systemd support to every package shipping a sysvinit script

Goal description

systemd is a modern init system which has been present in Debian since wheezy and works well in the current state. systemd can deal with sysvinit scripts that many of our current packages provide. However, when a package ships a native systemd service file in addition to the sysvinit script, users enjoy a couple of advantages: they can now easily enable/disable the service in a consistent manner using “systemctl enable”, daemon output is stored in the journal by default, the process tracking and related error reporting works better and users can fully utilize drop-in snippets to tweak service behavior (e.g. resource limits)¹.

The release goal is to add a systemd service file to all packages that currently ship a sysvinit script. It is NOT a goal for the service file to have 100% of the same functionality in the same way, meaning that some features might be achieved differently with systemd.

① When using drop-in snippets with a unit that is automatically generated from a sysvinit script, you cannot reasonably overwrite directives such as ExecStart. Furthermore, limits that you set with systemd might be overwritten in the init script itself, rendering them useless.

Current status

More then 80 Debian packages already ship a systemd service file. Over 35 of them use dh-systemd, a debhelper plugin that we (the pkg-systemd-maintainers) strongly recommend to use.

How to help


Relevant packages

All packages shipping a sysvinit script, see