void-packages/srcpkgs/dracut/patches/fix-bash-5.patch

57 lines
1.6 KiB
Diff

diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
index d39ca1b7..8dbc8b3c 100755
--- ./modules.d/99fs-lib/fs-lib.sh
+++ ./modules.d/99fs-lib/fs-lib.sh
@@ -44,22 +44,22 @@ fsck_able() {
;;
ext?)
type e2fsck >/dev/null 2>&1 &&
- _drv="_drv=e2fsck fsck_drv_com" &&
+ _drv="_drv=e2fsck fsck_drv_com e2fsck" &&
return 0
;;
f2fs)
type fsck.f2fs >/dev/null 2>&1 &&
- _drv="_drv=fsck.f2fs fsck_drv_com" &&
+ _drv="_drv=fsck.f2fs fsck_drv_com fsck.f2fs" &&
return 0
;;
jfs)
type jfs_fsck >/dev/null 2>&1 &&
- _drv="_drv=jfs_fsck fsck_drv_com" &&
+ _drv="_drv=jfs_fsck fsck_drv_com jfs_fsck" &&
return 0
;;
reiserfs)
type reiserfsck >/dev/null 2>&1 &&
- _drv="_drv=reiserfsck fsck_drv_com" &&
+ _drv="_drv=reiserfsck fsck_drv_com reiserfsck" &&
return 0
;;
btrfs)
@@ -75,7 +75,7 @@ fsck_able() {
;;
*)
type fsck >/dev/null 2>&1 &&
- _drv="_drv=fsck fsck_drv_std" &&
+ _drv="_drv=fsck fsck_drv_std fsck" &&
return 0
;;
esac
@@ -99,6 +99,7 @@ fsck_drv_btrfs() {
fsck_drv_com() {
local _ret
local _out
+ local _drv=$1
if ! strglobin "$_fop" "-[ynap]"; then
_fop="-a ${_fop}"
@@ -177,7 +178,7 @@ fsck_batch() {
_out="$(fsck -M -T "$@" -- -a)"
_ret=$?
- fsck_tail
+ _drv=$_drv fsck_tail
return $_ret
}