From d0f50ebe79adc2b5d1396fe27e9abc26c254ec98 Mon Sep 17 00:00:00 2001 From: Artur Gaspar Date: Thu, 14 May 2020 01:05:56 -0300 Subject: [PATCH] Use clevis-luks-askpass systemd units in dracut. --- src/luks/systemd/clevis-luks-askpass.path | 5 +++-- src/luks/systemd/clevis-luks-askpass.service.in | 4 +++- src/luks/systemd/dracut/clevis/clevis-hook.sh.in | 2 -- src/luks/systemd/dracut/clevis/meson.build | 7 ------- src/luks/systemd/dracut/clevis/module-setup.sh.in | 9 ++++----- 5 files changed, 10 insertions(+), 17 deletions(-) delete mode 100755 src/luks/systemd/dracut/clevis/clevis-hook.sh.in diff --git a/src/luks/systemd/clevis-luks-askpass.path b/src/luks/systemd/clevis-luks-askpass.path index a4d01ba1..4772a5ff 100644 --- a/src/luks/systemd/clevis-luks-askpass.path +++ b/src/luks/systemd/clevis-luks-askpass.path @@ -1,7 +1,8 @@ [Unit] Description=Clevis systemd-ask-password Watcher -Before=remote-fs-pre.target -Wants=remote-fs-pre.target +DefaultDependencies=no +Conflicts=shutdown.target +Before=basic.target shutdown.target remote-fs-pre.target [Path] PathChanged=/run/systemd/ask-password diff --git a/src/luks/systemd/clevis-luks-askpass.service.in b/src/luks/systemd/clevis-luks-askpass.service.in index 2c6bbede..5454b23d 100644 --- a/src/luks/systemd/clevis-luks-askpass.service.in +++ b/src/luks/systemd/clevis-luks-askpass.service.in @@ -1,6 +1,8 @@ [Unit] Description=Clevis LUKS systemd-ask-password Responder -Requires=network-online.target +DefaultDependencies=no +Conflicts=shutdown.target +Before=systemd-ask-password-console.service systemd-ask-password-plymouth.service shutdown.target After=network-online.target [Service] diff --git a/src/luks/systemd/dracut/clevis/clevis-hook.sh.in b/src/luks/systemd/dracut/clevis/clevis-hook.sh.in deleted file mode 100755 index cb257c99..00000000 --- a/src/luks/systemd/dracut/clevis/clevis-hook.sh.in +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -@libexecdir@/clevis-luks-askpass diff --git a/src/luks/systemd/dracut/clevis/meson.build b/src/luks/systemd/dracut/clevis/meson.build index 167e708a..9681aeeb 100644 --- a/src/luks/systemd/dracut/clevis/meson.build +++ b/src/luks/systemd/dracut/clevis/meson.build @@ -9,13 +9,6 @@ if dracut.found() install_dir: dracutdir, configuration: data, ) - - configure_file( - input: 'clevis-hook.sh.in', - output: 'clevis-hook.sh', - install_dir: dracutdir, - configuration: data, - ) else warning('Will not install dracut module due to missing dependencies!') endif diff --git a/src/luks/systemd/dracut/clevis/module-setup.sh.in b/src/luks/systemd/dracut/clevis/module-setup.sh.in index abc79b3e..9b5ba8cf 100755 --- a/src/luks/systemd/dracut/clevis/module-setup.sh.in +++ b/src/luks/systemd/dracut/clevis/module-setup.sh.in @@ -24,11 +24,10 @@ depends() { } install() { - inst_hook initqueue/online 60 "$moddir/clevis-hook.sh" - inst_hook initqueue/settled 60 "$moddir/clevis-hook.sh" - inst_multiple \ - /etc/services \ + "$systemdsystemunitdir/clevis-luks-askpass.path" \ + "$systemdsystemunitdir/clevis-luks-askpass.service" \ + /etc/services \ @libexecdir@/clevis-luks-askpass \ clevis-decrypt \ cryptsetup \ @@ -38,5 +37,5 @@ install() { jose \ ncat - dracut_need_initqueue + systemctl -q --root "$initdir" add-wants sysinit.target clevis-luks-askpass.path }