14 Star 0 Fork 32

src-openEuler/dracut

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
backport-fix-dracut.sh-exit-if-resolving-executable-dependenc.patch 1.59 KB
一键复制 编辑 原始数据 按行查看 历史
Venland 提交于 2023-09-25 17:49 . backport update stream
From b2c6b584e2227e68f54c8843925dcb73aefe87ac Mon Sep 17 00:00:00 2001
From: Antonio Alvarez Feijoo <antonio.feijoo@suse.com>
Date: Wed, 9 Aug 2023 11:28:15 +0200
Subject: [PATCH] fix(dracut.sh): exit if resolving executable dependencies
fails
We came across an issue where, when resolving executable dependencies, a call to
a buggy glib function in `dracut-install` was causing a termination with
SIGSEGV, but dracut didn't stop the build process, which resulted in an
unbootable initrd, due to missing required libraries.
```
dracut: *** Resolving executable dependencies ***
xargs: /usr/lib/dracut/dracut-install: terminated by signal 11
dracut: *** Resolving executable dependencies done ***
```
Therefore, stop the initrd creation in this case.
---
dracut.sh | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index fe2954a04..d7bf4b071 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -2045,7 +2045,13 @@ if [[ $kernel_only != yes ]]; then
# shellcheck disable=SC2086
find "$initdir" -type f -perm /0111 -not -path '*.ko' -print0 \
| xargs -r -0 $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${dracutsysrootdir:+-r "$dracutsysrootdir"} -R ${DRACUT_FIPS_MODE:+-f} --
- dinfo "*** Resolving executable dependencies done ***"
+ # shellcheck disable=SC2181
+ if (($? == 0)); then
+ dinfo "*** Resolving executable dependencies done ***"
+ else
+ dfatal "Resolving executable dependencies failed"
+ exit 1
+ fi
fi
# Now we are done with lazy resolving, always install dependencies
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/dracut.git
git@gitee.com:src-openeuler/dracut.git
src-openeuler
dracut
dracut
master

搜索帮助