summaryrefslogtreecommitdiffstats
path: root/0077-dracut-install-dracut-fix-ldd-output-parsing.patch
diff options
context:
space:
mode:
Diffstat (limited to '0077-dracut-install-dracut-fix-ldd-output-parsing.patch')
-rw-r--r--0077-dracut-install-dracut-fix-ldd-output-parsing.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/0077-dracut-install-dracut-fix-ldd-output-parsing.patch b/0077-dracut-install-dracut-fix-ldd-output-parsing.patch
new file mode 100644
index 0000000..00fd0ef
--- /dev/null
+++ b/0077-dracut-install-dracut-fix-ldd-output-parsing.patch
@@ -0,0 +1,43 @@
+From 3ecaca1fdf19c6494aaefd699977aedbfb585313 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 17 Jan 2014 11:52:43 +0100
+Subject: [PATCH] dracut-install,dracut: fix ldd output parsing
+
+dracut-install could not handle output like:
+ /lib/$LIB/liblsp.so => /lib/lib64/liblsp.so (0x00007faf00727000)
+
+also unset LD_PRELOAD, so we get a clean environment
+---
+ dracut.sh | 1 +
+ install/dracut-install.c | 6 +++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 2cfba50..7ae5a58 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -548,6 +548,7 @@ export LC_ALL=C
+ export LANG=C
+ unset NPATH
+ unset LD_LIBRARY_PATH
++unset LD_PRELOAD
+ unset GREP_OPTIONS
+
+ export DRACUT_LOG_LEVEL=warning
+diff --git a/install/dracut-install.c b/install/dracut-install.c
+index 6b9c613..c5e4b05 100644
+--- a/install/dracut-install.c
++++ b/install/dracut-install.c
+@@ -391,7 +391,11 @@ static int resolve_deps(const char *src)
+ if (strstr(buf, destrootdir))
+ break;
+
+- p = strchr(buf, '/');
++ p = strstr(buf, "=>");
++ if (!p)
++ p = buf;
++
++ p = strchr(p, '/');
+ if (p) {
+ for (q = p; *q && *q != ' ' && *q != '\n'; q++) ;
+ *q = '\0';