This page describes the current status of Debian systemd integration.

Goals

Status/TODO

Test reports

Please add your test report in the appropriate category and add a new category if necessary:

sysv-only

sysv+systemd with exact name match

sysv+systemd without exact name match

sysv+systemd with special dh_installinit call

(e.g. --restart-after-upgrade)

nginx 1.2.1-2.2

systemd-only services

(e.g. dbus-activated ones)

packages not using dh

systemd itself

systemd uses dh and ships a lot of unit files.

HOWTO rebuild a service

Make the updated debhelper in /var/cache/pbuilder/result available in pbuilder (as root):

echo 'deb file:///var/cache/pbuilder/result ./' >> /etc/pbuilder/apt.config/sources.list
echo 'BINDMOUNTS="/var/cache/pbuilder/result"' >> /etc/pbuilderrc
cd /var/cache/pbuilder/result
wget http://t.zekjur.net/debhelper_9.20130508_all.deb
apt-ftparchive packages debhelper_9.20130508_all.deb > Packages
pbuilder --update --override-config

Afterwards, just bump the debhelper dependency in build-depends to >= 9.20130508, build a source package and use pbuilder on that.

installation/maintainer scripts

It's still open for discussion how much logic we move into update-rc.d / invoke-rc.d or if we let dh_installinit generate systemd specific code. Maybe a mix of both is needed. Also, do we want to add all functionality into dh_installinit or should we provide separate helper tools: dh_tmpfiles, dh_systemd or even split the latter for services and sockets?

dh_installinit

tmpfiles units

socket units

service units

tools

update-rc.d

invoke-rc.d

service

lsb init-hook