9abf8c
From 2dbd11b81dae28a5c6291a56175c06665b615d66 Mon Sep 17 00:00:00 2001
9abf8c
From: David Tardon <dtardon@redhat.com>
9abf8c
Date: Thu, 1 Oct 2020 14:08:38 +0200
9abf8c
Subject: [PATCH] dracut-install: ignore bogus preload libs
9abf8c
9abf8c
If there are any nonexistent libraries listed in /etc/ld.so.preload, ldd
9abf8c
prints error messages like:
9abf8c
9abf8c
ERROR: ld.so: object '/usr/lib64/libfoo.so.1' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
9abf8c
9abf8c
This causes resolve_deps() to return error, which leads to symlinks
9abf8c
(like usr/bin/awk) not being copied into the initrd.
9abf8c
9abf8c
(cherry picked from commit 4916dfc2b94dca0e84eb7dc58a9266d02c416b4a)
9abf8c
9abf8c
Resolves: #1884149
9abf8c
---
9abf8c
 install/dracut-install.c | 3 +++
9abf8c
 1 file changed, 3 insertions(+)
9abf8c
9abf8c
diff --git a/install/dracut-install.c b/install/dracut-install.c
9abf8c
index f8ec9a59..baf6dcff 100644
9abf8c
--- a/install/dracut-install.c
9abf8c
+++ b/install/dracut-install.c
9abf8c
@@ -481,6 +481,9 @@ static int resolve_deps(const char *src)
9abf8c
                 if (strstr(buf, "cannot read header"))
9abf8c
                         break;
9abf8c
 
9abf8c
+                if (strstr(buf, "cannot be preloaded"))
9abf8c
+                        break;
9abf8c
+
9abf8c
                 if (strstr(buf, destrootdir))
9abf8c
                         break;
9abf8c
 
9abf8c