diff options
author | Jonathan Bauer | 2020-05-13 11:04:02 +0200 |
---|---|---|
committer | Jonathan Bauer | 2020-05-13 11:04:02 +0200 |
commit | 1130873aa55c9b0a7e5af48edc44bd6c6fd1f888 (patch) | |
tree | 0fcfa186cd631d8d36611b3d4bc509fd38841d51 /modules.d/haveged/module-setup.sh | |
parent | Merge branch 'centos8' into downloader (diff) | |
download | systemd-init-1130873aa55c9b0a7e5af48edc44bd6c6fd1f888.tar.gz systemd-init-1130873aa55c9b0a7e5af48edc44bd6c6fd1f888.tar.xz systemd-init-1130873aa55c9b0a7e5af48edc44bd6c6fd1f888.zip |
restructure repo
* remove packager
* move everything from builder/* back to root
Diffstat (limited to 'modules.d/haveged/module-setup.sh')
-rw-r--r-- | modules.d/haveged/module-setup.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules.d/haveged/module-setup.sh b/modules.d/haveged/module-setup.sh new file mode 100644 index 00000000..d3183dbe --- /dev/null +++ b/modules.d/haveged/module-setup.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +check() { + if ! hash haveged 2>/dev/null; then + warn "Could not find haveged in $PATH. Check if its installed." + return 1 + fi + return 0 +} +# called by dracut +install() { + # see where haveged is installed + local haveged_bin="$(command -v haveged)" + if [ -z "$haveged_bin" ]; then + warn "Could not find havaged in $PATH. Check if its installed." + return 1 + fi + # TODO SysVInit support, if that even a thing anymore :) + local haveged_service="$systemdsystemunitdir/haveged.service" + if [ ! -f "$haveged_service" ]; then + # query systemd directly + haveged_service="$(systemctl show -p FragmentPath haveged | cut -c 14-)" + if [ -z "$haveged_service" ]; then + warn "Could not find haveged service in '$systemdsystemunitdir' or by querying systemd." + warn "Check if it is installed properly." + return 1 + fi + fi + inst_multiple -o \ + "$haveged_bin" \ + "$haveged_service" + + # In Ubuntu, the service sources an EnvironmentFile for default options + local haveged_env_file="$(grep -oP '^EnvironmentFile=-?\K.*' $haveged_service)" + if [ -n "$haveged_env_file" ]; then + mkdir -p "$initdir/${haveged_env_file%/*}" 2>/dev/null + cp "$haveged_env_file" "$initdir/$haveged_env_file" + fi + mkdir "$initdir/$systemdsystemunitdir/sysinit.target.wants" 2>/dev/null + ln_r "$systemdsystemunitdir/haveged.service" "$systemdsystemunitdir/sysinit.target.wants/haveged.service" +} |