dracut: upgrade 049 -> 051

Drop the following patches which have been merged upstream:
  0001-dracut.sh-improve-udevdir.patch
  0001-set-viriable-_drv-not-local.patch

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Yi Zhao 2021-01-03 13:49:09 +08:00 committed by Khem Raj
parent 2a3d72e58f
commit 419f7e31f5
3 changed files with 2 additions and 113 deletions

View File

@ -1,39 +0,0 @@
From 974f728410052bc8fa18d93dc0c1a991bcdb96e6 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 3 Apr 2019 15:24:47 +0800
Subject: [PATCH] dracut.sh: improve udevdir
In commit [9d1b81c dracut.sh: improve udevdir and systemdutildir
fallback logic], it checked a common binary `collect' to localte
udevdir.
But upstream systemd drop binary `collect'.
[https://github.com/systemd/systemd/commit/a168792c2d95695fd30c0371d4b3890a9df1eafb]
So check binary `ata_id' to instead.
Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/558]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
dracut.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 3dc2adc..cc8b01a 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1311,8 +1311,8 @@ done
[[ -d $udevdir ]] \
|| udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)"
if ! [[ -d "$udevdir" ]]; then
- [[ -e /lib/udev/collect ]] && udevdir=/lib/udev
- [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev
+ [[ -e /lib/udev/ata_id ]] && udevdir=/lib/udev
+ [[ -e /usr/lib/udev/ata_id ]] && udevdir=/usr/lib/udev
fi
[[ -d $systemdutildir ]] \
--
2.7.4

View File

@ -1,69 +0,0 @@
From 6e0da103effe64832eea52fad5c44a328f7141b7 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 20 Jun 2019 17:31:11 +0800
Subject: [PATCH] set viriable _drv not local
If shebang is set to /bin/sh and /bin/sh is a symlink to /bin/bash,
bash turn on posix mode.
Since bash is upgraded to 5.0, it follows 'IEEE 1003.2 POSIX Shell
Standard', to implement 'functions do not have local traps or options,
and it is not possible to define local variables'
For more detail, see variables.c:push_posix_temp_var in the following commit
http://git.savannah.gnu.org/cgit/bash.git/commit/?id=d233b485e83c3a784b803fb894280773f16f2deb
The IEEE 1003.2 POSIX Shell Standard:
https://www.cs.ait.ac.th/~on/O/oreilly/unix/ksh/appa_02.htm
While /bin/sh points to bash 5.0, it caused the following issue:
$ cat <<ENDOF>case.sh
fsck_drv_com(){
echo "issuing \$_drv"
}
fsck_able() {
_drv="_drv=e2fsck fsck_drv_com"
}
fsck_single() {
local _drv
fsck_able
eval "\$_drv"
}
fsck_single
ENDOF
$ chmod a+x case.sh
Unexpected:
$ ./cash.sh
issuing _drv=e2fsck fsck_drv_com
Set viriable _drv not local, get expected result:
$ ./case.sh
issuing e2fsck
Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/587]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
modules.d/99fs-lib/fs-lib.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
index d39ca1b..60877ee 100755
--- a/modules.d/99fs-lib/fs-lib.sh
+++ b/modules.d/99fs-lib/fs-lib.sh
@@ -142,7 +142,7 @@ fsck_single() {
local _fs="${2:-auto}"
local _fsopts="$3"
local _fop="$4"
- local _drv
+ _drv=""
[ $# -lt 2 ] && return 255
# if UUID= marks more than one device, take only the first one
--
2.7.4

View File

@ -6,14 +6,11 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PE = "1"
PV = "049"
PV = "051"
# v048 tag
SRCREV = "225e4b94cbdb702cf512490dcd2ad9ca5f5b22c1"
SRCREV = "e473057ae1de303340dec297c786c4a701cc61bd"
SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
file://0001-dracut.sh-improve-udevdir.patch \
file://0001-set-viriable-_drv-not-local.patch \
"
DEPENDS += "kmod"