1DH_SYSTEMD_ENABLE(1) Debhelper DH_SYSTEMD_ENABLE(1)
2
3
4
6 dh_systemd_enable - enable/disable systemd unit files
7
9 dh_systemd_enable [debhelper options] [--no-enable] [--name=name]
10 [unit file ...]
11
13 dh_systemd_enable is a debhelper program that is responsible for
14 enabling and disabling systemd unit files.
15
16 In the simple case, it finds all unit files installed by a package
17 (e.g. bacula-fd.service) and enables them. It is not necessary that
18 the machine actually runs systemd during package installation time,
19 enabling happens on all machines in order to be able to switch from
20 sysvinit to systemd and back.
21
22 In the complex case, you can call dh_systemd_enable and
23 dh_systemd_start manually (by overwriting the debian/rules targets) and
24 specify flags per unit file. An example is colord, which ships
25 colord.service, a dbus-activated service without an [Install] section.
26 This service file cannot be enabled or disabled (a state called
27 "static" by systemd) because it has no [Install] section. Therefore,
28 running dh_systemd_enable does not make sense.
29
30 For only generating blocks for specific service files, you need to pass
31 them as arguments, e.g. dh_systemd_enable quota.service and
32 dh_systemd_enable --name=quotarpc quotarpc.service.
33
35 debian/package.service, debian/package@.service
36 If this exists, it is installed into
37 lib/systemd/system/package.service (or
38 lib/systemd/system/package@.service) in the package build
39 directory.
40
41 debian/package.tmpfile
42 If this exists, it is installed into
43 usr/lib/tmpfiles.d/package.conf in the package build directory.
44 (The tmpfiles.d mechanism is currently only used by systemd.)
45
46 debian/package.target, debian/package@.target
47 If this exists, it is installed into
48 lib/systemd/system/package.target (or
49 lib/systemd/system/package@.target) in the package build directory.
50
51 debian/package.socket, debian/package@.socket
52 If this exists, it is installed into
53 lib/systemd/system/package.socket (or
54 lib/systemd/system/package@.socket) in the package build directory.
55
56 debian/package.mount
57 If this exists, it is installed into
58 lib/systemd/system/package.mount in the package build directory.
59
60 debian/package.path, debian/package@.path
61 If this exists, it is installed into
62 lib/systemd/system/package.path (or
63 lib/systemd/system/package@.path) in the package build directory.
64
65 debian/package.timer, debian/package@.timer
66 If this exists, it is installed into
67 lib/systemd/system/package.timer (or
68 lib/systemd/system/package@.timer) in the package build directory.
69
71 --no-enable
72 Disable the service(s) on purge, but do not enable them on install.
73
74 Note that this option does not affect whether the services are
75 started. That is controlled by dh_systemd_start(1) (using e.g. its
76 --no-start option).
77
78 --name=name
79 Install the service file as name.service instead of the default
80 filename, which is the package.service. When this parameter is
81 used, dh_systemd_enable looks for and installs files named
82 debian/package.name.service instead of the usual
83 debian/package.service.
84
86 Note that this command is not idempotent. dh_prep(1) should be called
87 between invocations of this command (with the same arguments).
88 Otherwise, it may cause multiple instances of the same text to be added
89 to maintainer scripts.
90
91 Note that dh_systemd_enable should be run before dh_installinit. The
92 default sequence in dh does the right thing, this note is only relevant
93 when you are calling dh_systemd_enable manually.
94
96 dh_systemd_start(1), debhelper(7)
97
99 pkg-systemd-maintainers@lists.alioth.debian.org
100
101
102
10313.7.1 2022-04-22 DH_SYSTEMD_ENABLE(1)