diff options
| author | Khem Raj <raj.khem@gmail.com> | 2025-07-24 00:24:13 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-07-28 17:37:02 +0100 |
| commit | 7e36ded41739fab062063cdfe867ae904c135cab (patch) | |
| tree | 8d89c6c0284e48eec60fae8abb53ad6b29652c3e | |
| parent | 3d691e6740c2acf1fb46ed5c38b24d96a80c919a (diff) | |
| download | poky-7e36ded41739fab062063cdfe867ae904c135cab.tar.gz | |
busybox: Skip a non-posix awk ptest on musl systems
The test depends on BSD extension REG_STARTEND which
is not in POSIX, glibc does implement this extention so it
works on glibc systems but musl does not and it needs to
be skipped and LIBC environment variable is used in this
test as well to run it conditionally.
(From OE-Core rev: a74eaca8e1830d09c5ff678c7d361cedbfc6f68a)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
4 files changed, 32 insertions, 1 deletions
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index 4ebaeb92c9..c203f2f8f1 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc | |||
| @@ -371,6 +371,7 @@ do_install_ptest () { | |||
| 371 | rm -rf ${D}${PTEST_PATH}/testsuite/wget | 371 | rm -rf ${D}${PTEST_PATH}/testsuite/wget |
| 372 | sort ${B}/.config > ${D}${PTEST_PATH}/.config | 372 | sort ${B}/.config > ${D}${PTEST_PATH}/.config |
| 373 | ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/busybox | 373 | ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/busybox |
| 374 | sed -i -e 's|LIBC="<libc>"|LIBC=${TCLIBC}|g' ${D}${PTEST_PATH}/run-ptest | ||
| 374 | } | 375 | } |
| 375 | 376 | ||
| 376 | inherit update-alternatives | 377 | inherit update-alternatives |
diff --git a/meta/recipes-core/busybox/busybox/0001-busybox-Add-awk-gsub-erroneous-word-start-match-test.patch b/meta/recipes-core/busybox/busybox/0001-busybox-Add-awk-gsub-erroneous-word-start-match-test.patch new file mode 100644 index 0000000000..18e57a87be --- /dev/null +++ b/meta/recipes-core/busybox/busybox/0001-busybox-Add-awk-gsub-erroneous-word-start-match-test.patch | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | From 7ee04187bd59acc922982fb49e76ba6c39dd8a91 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 11 May 2025 08:36:54 -0700 | ||
| 4 | Subject: [PATCH] busybox: Add awk gsub erroneous word start match test to know fails on musl | ||
| 5 | |||
| 6 | Musl does not implement this BSD extension REG_STARTEND and the test states | ||
| 7 | that it will fail without this extention, therefore guard it with SKIP_KNOWN_BUGS | ||
| 8 | so it can be ignored. | ||
| 9 | |||
| 10 | Upstream-Status: Submitted [https://lists.busybox.net/pipermail/busybox/2025-July/091623.html] | ||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | testsuite/awk.tests | 2 +- | ||
| 14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 15 | |||
| 16 | diff --git a/testsuite/awk.tests b/testsuite/awk.tests | ||
| 17 | index be25f6696..c56e217e8 100755 | ||
| 18 | --- a/testsuite/awk.tests | ||
| 19 | +++ b/testsuite/awk.tests | ||
| 20 | @@ -612,7 +612,7 @@ b | ||
| 21 | # Currently we use REG_STARTEND ("This flag is a BSD extension, not present in POSIX") | ||
| 22 | # to implement the code to handle this correctly, but if your libc has no REG_STARTEND, | ||
| 23 | # the alternative code mishandles this case. | ||
| 24 | -testing 'awk gsub erroneous word start match' \ | ||
| 25 | +test x"$LIBC" != x"musl" && testing 'awk gsub erroneous word start match' \ | ||
| 26 | "awk 'BEGIN { a=\"abc\"; gsub(/\<b*/,\"\",a); print a }'" \ | ||
| 27 | 'abc\n' \ | ||
| 28 | '' '' | ||
diff --git a/meta/recipes-core/busybox/busybox_1.37.0.bb b/meta/recipes-core/busybox/busybox_1.37.0.bb index 9f7ded3354..bec25348b8 100644 --- a/meta/recipes-core/busybox/busybox_1.37.0.bb +++ b/meta/recipes-core/busybox/busybox_1.37.0.bb | |||
| @@ -55,7 +55,9 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | |||
| 55 | file://0003-start-stop-false.patch \ | 55 | file://0003-start-stop-false.patch \ |
| 56 | file://0001-archival-disallow-path-traversals-CVE-2023-39810.patch \ | 56 | file://0001-archival-disallow-path-traversals-CVE-2023-39810.patch \ |
| 57 | file://0001-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch \ | 57 | file://0001-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch \ |
| 58 | file://0001-busybox-Add-awk-gsub-erroneous-word-start-match-test.patch \ | ||
| 58 | " | 59 | " |
| 59 | SRC_URI:append:libc-musl = " file://musl.cfg" | 60 | SRC_URI:append:libc-musl = " file://musl.cfg" |
| 60 | SRC_URI:append:x86-64 = " file://sha_accel.cfg" | 61 | SRC_URI:append:x86-64 = " file://sha_accel.cfg" |
| 62 | |||
| 61 | SRC_URI[tarball.sha256sum] = "3311dff32e746499f4df0d5df04d7eb396382d7e108bb9250e7b519b837043a4" | 63 | SRC_URI[tarball.sha256sum] = "3311dff32e746499f4df0d5df04d7eb396382d7e108bb9250e7b519b837043a4" |
diff --git a/meta/recipes-core/busybox/files/run-ptest b/meta/recipes-core/busybox/files/run-ptest index 76873c9de2..957af36099 100644 --- a/meta/recipes-core/busybox/files/run-ptest +++ b/meta/recipes-core/busybox/files/run-ptest | |||
| @@ -4,6 +4,6 @@ current_path=$(readlink -f $0) | |||
| 4 | export bindir=$(dirname $current_path) | 4 | export bindir=$(dirname $current_path) |
| 5 | export PATH=$bindir/bin:$PATH | 5 | export PATH=$bindir/bin:$PATH |
| 6 | export SKIP_KNOWN_BUGS=1 | 6 | export SKIP_KNOWN_BUGS=1 |
| 7 | 7 | export LIBC="<libc>" | |
| 8 | cd testsuite || exit 1 | 8 | cd testsuite || exit 1 |
| 9 | LANG=C.UTF-8 ./runtest -v | sed -r 's/^(SKIPPED|UNTESTED):/SKIP:/' | 9 | LANG=C.UTF-8 ./runtest -v | sed -r 's/^(SKIPPED|UNTESTED):/SKIP:/' |
