From 2da041d6727e1dac8e751e305c7dc4cf01e34ed5 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 16 Nov 2015 09:41:26 +0100
Subject: [PATCH] Check for systemd before installing systemd specific files
https://bugzilla.redhat.com/show_bug.cgi?id=1282010
---
dracut.sh | 16 +++++++++-------
modules.d/90crypt/module-setup.sh | 21 ++++++++++++---------
modules.d/95udev-rules/module-setup.sh | 6 ++++--
3 files changed, 25 insertions(+), 18 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index be4c107..9e85f50 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1481,13 +1481,15 @@ if [[ $kernel_only != yes ]]; then
cat "$f" >> "${initdir}/etc/fstab"
done
- if [ -d ${initdir}/$systemdutildir ]; then
- mkdir -p ${initdir}/etc/conf.d
- {
- printf "%s\n" "systemdutildir=\"$systemdutildir\""
- printf "%s\n" "systemdsystemunitdir=\"$systemdsystemunitdir\""
- printf "%s\n" "systemdsystemconfdir=\"$systemdsystemconfdir\""
- } > ${initdir}/etc/conf.d/systemd.conf
+ if dracut_module_included "systemd"; then
+ if [ -d ${initdir}/$systemdutildir ]; then
+ mkdir -p ${initdir}/etc/conf.d
+ {
+ printf "%s\n" "systemdutildir=\"$systemdutildir\""
+ printf "%s\n" "systemdsystemunitdir=\"$systemdsystemunitdir\""
+ printf "%s\n" "systemdsystemconfdir=\"$systemdsystemconfdir\""
+ } > ${initdir}/etc/conf.d/systemd.conf
+ fi
fi
if [[ $DRACUT_RESOLVE_LAZY ]] && [[ $DRACUT_INSTALL ]]; then
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
index 4df520c..5d964f4 100755
--- a/modules.d/90crypt/module-setup.sh
+++ b/modules.d/90crypt/module-setup.sh
@@ -86,14 +86,17 @@ install() {
inst_simple "$moddir/crypt-lib.sh" "/lib/dracut-crypt-lib.sh"
- inst_multiple -o \
- $systemdutildir/system-generators/systemd-cryptsetup-generator \
- $systemdutildir/systemd-cryptsetup \
- $systemdsystemunitdir/systemd-ask-password-console.path \
- $systemdsystemunitdir/systemd-ask-password-console.service \
- $systemdsystemunitdir/cryptsetup.target \
- $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
- systemd-ask-password systemd-tty-ask-password-agent
- inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator
+ if dracut_module_included "systemd"; then
+ inst_multiple -o \
+ $systemdutildir/system-generators/systemd-cryptsetup-generator \
+ $systemdutildir/systemd-cryptsetup \
+ $systemdsystemunitdir/systemd-ask-password-console.path \
+ $systemdsystemunitdir/systemd-ask-password-console.service \
+ $systemdsystemunitdir/cryptsetup.target \
+ $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
+ systemd-ask-password systemd-tty-ask-password-agent
+ inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator
+ fi
+
dracut_need_initqueue
}
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index f4f9cf8..6a0625a 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -56,8 +56,10 @@ install() {
# eudev rules
inst_rules 80-drivers-modprobe.rules
- inst_multiple -o ${systemdutildir}/network/*.link
- [[ $hostonly ]] && inst_multiple -H -o /etc/systemd/network/*.link
+ if dracut_module_included "systemd"; then
+ inst_multiple -o ${systemdutildir}/network/*.link
+ [[ $hostonly ]] && inst_multiple -H -o /etc/systemd/network/*.link
+ fi
{
for i in cdrom tape dialout floppy; do