56 lines
1.8 KiB
Diff
56 lines
1.8 KiB
Diff
|
From e09048aaf5cbc6c98fc03bdf89250e5c0e70f8c0 Mon Sep 17 00:00:00 2001
|
||
|
From: Harald Hoyer <harald@redhat.com>
|
||
|
Date: Fri, 6 Jul 2012 13:49:03 +0200
|
||
|
Subject: [PATCH] systemd: check, that --prefix= does not contain /run
|
||
|
|
||
|
systemd will mount /run before dracut has a chance to copy over the
|
||
|
original content.
|
||
|
---
|
||
|
dracut.sh | 3 ++-
|
||
|
modules.d/98systemd/module-setup.sh | 10 +++++++---
|
||
|
2 files changed, 9 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/dracut.sh b/dracut.sh
|
||
|
index db2e33b..0b43f44 100755
|
||
|
--- a/dracut.sh
|
||
|
+++ b/dracut.sh
|
||
|
@@ -779,7 +779,8 @@ export initdir dracutbasedir dracutmodules drivers \
|
||
|
use_fstab fstab_lines libdirs fscks nofscks \
|
||
|
stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
|
||
|
debug host_fs_types host_devs sshkey add_fstab \
|
||
|
- DRACUT_VERSION udevdir systemdutildir systemdsystemunitdir
|
||
|
+ DRACUT_VERSION udevdir systemdutildir systemdsystemunitdir \
|
||
|
+ prefix
|
||
|
|
||
|
# Create some directory structure first
|
||
|
[[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}"
|
||
|
diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
|
||
|
index d20d18d..b2111a9 100755
|
||
|
--- a/modules.d/98systemd/module-setup.sh
|
||
|
+++ b/modules.d/98systemd/module-setup.sh
|
||
|
@@ -4,10 +4,9 @@
|
||
|
|
||
|
check() {
|
||
|
[[ $mount_needs ]] && return 1
|
||
|
- if [[ -x /lib/systemd/systemd ]] || [[ -x /usr/lib/systemd/systemd ]]; then
|
||
|
- return 255
|
||
|
+ if [[ -x $systemdutildir/systemd ]]; then
|
||
|
+ return 255
|
||
|
fi
|
||
|
- [[ $systemdutildir ]] && return 255
|
||
|
|
||
|
return 1
|
||
|
}
|
||
|
@@ -17,6 +16,11 @@ depends() {
|
||
|
}
|
||
|
|
||
|
install() {
|
||
|
+ if strstr "$prefix" "/run/"; then
|
||
|
+ dfatal "systemd does not work a prefix, which contains \"/run\"!!"
|
||
|
+ exit 1
|
||
|
+ fi
|
||
|
+
|
||
|
dracut_install -o \
|
||
|
$systemdutildir/systemd \
|
||
|
$systemdutildir/systemd-cgroups-agent \
|