diff options
author | Lennart Poettering <lennart@poettering.net> | 2021-01-09 22:24:55 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2021-01-19 13:41:42 +0100 |
commit | 205e5bcc1cf840ed014037a8cbad1df221cc3ac2 (patch) | |
tree | 5dc9451f98aeb948a01a604c4cd8521c5be09967 /units | |
parent | 9bca4ae4cd21832c6283efa9b7a1a1c9d038c16d (diff) | |
download | systemd-205e5bcc1cf840ed014037a8cbad1df221cc3ac2.tar.gz |
units: add systemd-sysext.service unit for auto-activating extensions at boot
We'll leave this as opt-in (i.e. a unit that must be enabled
explicitly), since this is supposed to be a debug/developer feature
primarily, and thus no be around in regular production systems.
Diffstat (limited to 'units')
-rw-r--r-- | units/meson.build | 1 | ||||
-rw-r--r-- | units/systemd-sysext.service.in | 31 |
2 files changed, 32 insertions, 0 deletions
diff --git a/units/meson.build b/units/meson.build index 7b18f1bfea..bdfb2e52ce 100644 --- a/units/meson.build +++ b/units/meson.build @@ -211,6 +211,7 @@ in_units = [ ['systemd-oomd.service', 'ENABLE_OOMD'], ['systemd-portabled.service', 'ENABLE_PORTABLED', 'dbus-org.freedesktop.portable1.service'], + ['systemd-sysext.service', 'ENABLE_SYSEXT'], ['systemd-userdbd.service', 'ENABLE_USERDB'], ['systemd-homed.service', 'ENABLE_HOMED'], ['systemd-quotacheck.service', 'ENABLE_QUOTACHECK'], diff --git a/units/systemd-sysext.service.in b/units/systemd-sysext.service.in new file mode 100644 index 0000000000..17b0837554 --- /dev/null +++ b/units/systemd-sysext.service.in @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +# +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Merge System Extension Images into /usr/ and /opt/ +Documentation=man:systemd-sysext.service(8) +DefaultDependencies=no +Conflicts=shutdown.target +After=local-fs.target +Before=sysinit.target shutdown.target systemd-tmpfiles.service +ConditionCapability=CAP_SYS_ADMIN +ConditionDirectoryNotEmpty=|/etc/extensions +ConditionDirectoryNotEmpty=|/run/extensions +ConditionDirectoryNotEmpty=|/var/lib/extensions +ConditionDirectoryNotEmpty=|/usr/local/lib/extensions +ConditionDirectoryNotEmpty=|/usr/lib/extensions + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@rootbindir@/systemd-sysext --merge +ExecStop=@rootbindir@/systemd-sysext --unmerge + +[Install] +WantedBy=sysinit.target |