* [PATCH 1/2] coreutils: kill and uptime are no longer installed
@ 2026-02-19 19:12 Randy.MacLeod
2026-02-19 19:12 ` [PATCH 2/2] coreutils: upgrade 9.9 -> 9.10 Randy.MacLeod
0 siblings, 1 reply; 2+ messages in thread
From: Randy.MacLeod @ 2026-02-19 19:12 UTC (permalink / raw)
To: openembedded-core
From: Randy MacLeod <Randy.MacLeod@windriver.com>
In coreutils-9.10, as explained in:
6b399ad35 build: kill(1), uptime(1): don't install by default
* build-aux/gen-lists-of-programs.sh: kill and uptime are not installed
by arch, debian, fedora, suse at least, so add to disabled list.
Fixes https://github.com/coreutils/coreutils/issues/132
Note that in oe-core:
kill is provided by busybox, procps and util-linux
uptime is provided by busybox and procps
and in other layers there may be other providers of these commands.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
meta/recipes-core/coreutils/coreutils_9.9.bb | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/meta/recipes-core/coreutils/coreutils_9.9.bb b/meta/recipes-core/coreutils/coreutils_9.9.bb
index 7deadded06..1a017cb0bb 100644
--- a/meta/recipes-core/coreutils/coreutils_9.9.bb
+++ b/meta/recipes-core/coreutils/coreutils_9.9.bb
@@ -56,10 +56,10 @@ bindir_progs = "arch basename cksum comm csplit cut dir dircolors dirname du \
join link logname md5sum mkfifo nl nohup nproc od paste pathchk \
pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \
sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \
- tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes \
+ tr truncate tsort tty unexpand uniq unlink users vdir wc who whoami yes \
${selinux_progs}"
-base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \
+base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname ln ls mkdir \
mknod mv pwd rm rmdir sleep stty sync touch true uname stat"
sbindir_progs = "chroot"
@@ -112,7 +112,7 @@ ALTERNATIVE_PRIORITY = "100"
# Make hostname's priority higher than busybox but lower than net-tools
ALTERNATIVE_PRIORITY[hostname] = "90"
ALTERNATIVE:${PN} = "lbracket ${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df"
-ALTERNATIVE:${PN}-doc = "base32.1 base64.1 nice.1 mktemp.1 df.1 groups.1 kill.1 uptime.1 stat.1 hostname.1"
+ALTERNATIVE:${PN}-doc = "base32.1 base64.1 nice.1 mktemp.1 df.1 groups.1 stat.1 hostname.1"
ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
@@ -143,8 +143,6 @@ ALTERNATIVE_LINK_NAME[lbracket] = "${bindir}/["
ALTERNATIVE_TARGET[lbracket] = "${bindir}/lbracket.${BPN}"
ALTERNATIVE_LINK_NAME[groups.1] = "${mandir}/man1/groups.1"
-ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
-ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
ALTERNATIVE_LINK_NAME[stat.1] = "${mandir}/man1/stat.1"
# The statx() requires glibc >= 2.28 and linux kernel >= 4.11, it doesn't work
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH 2/2] coreutils: upgrade 9.9 -> 9.10
2026-02-19 19:12 [PATCH 1/2] coreutils: kill and uptime are no longer installed Randy.MacLeod
@ 2026-02-19 19:12 ` Randy.MacLeod
0 siblings, 0 replies; 2+ messages in thread
From: Randy.MacLeod @ 2026-02-19 19:12 UTC (permalink / raw)
To: openembedded-core
From: Randy MacLeod <Randy.MacLeod@windriver.com>
From:
https://lists.gnu.org/archive/html/coreutils-announce/2026-02/msg00000.html
Notable changes include:
- Options in man pages link directly into the full web docs
- timeout(1) now kills the command for all terminating signals
- paste(1) is now multi-byte character aware
- cp(1) fixes an unlikely infinite loop introduced in v9.9
- The multi-call binary is 3.2% smaller
Drop the 2 backported patches which are now part of 9.10.
License-Update: copyright years refreshed
For ptests, also install coreutils.texi which is used for a new test that ensures
there is an anchor for each --help option for all of coreutils' programs. See:
https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?h=v9.10&id=77e6b5d8f8d1ebc3125d6585a266a912a1123791
+---------+--------+-------+------+------+
| Version | Libc | TOTAL | PASS | SKIP |
+---------+--------+-------+------+------+
| 9.10 | glibc | 705 | 543 | 162 |
| 9.9 | glibc | 683 | 527 | 156 |
+---------+--------+-------+------+------+
| diff | glibc | 22 | 16 | 6 |
+---------+--------+-------+------+------+
| 9.10 | musl | 703 | 544 | 159 |
| 9.10 | musl | 681 | 529 | 152 |
+---------+--------+-------+------+------+
| diff | musl | 22 | 15 | 7 |
+---------+--------+-------+------+------+
Most of the skipped tests are due to being "very expensive" according to the coreutils developers.
The other skipped tests need strace, gdb, etc or locale dependencies which has not yet been added.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
.../coreutils/0001-fix-lseek-copy-loop.patch | 35 -----------
.../coreutils/0002-fix-lseek-copy-loop.patch | 58 -------------------
.../{coreutils_9.9.bb => coreutils_9.10.bb} | 7 +--
3 files changed, 3 insertions(+), 97 deletions(-)
delete mode 100644 meta/recipes-core/coreutils/coreutils/0001-fix-lseek-copy-loop.patch
delete mode 100644 meta/recipes-core/coreutils/coreutils/0002-fix-lseek-copy-loop.patch
rename meta/recipes-core/coreutils/{coreutils_9.9.bb => coreutils_9.10.bb} (97%)
diff --git a/meta/recipes-core/coreutils/coreutils/0001-fix-lseek-copy-loop.patch b/meta/recipes-core/coreutils/coreutils/0001-fix-lseek-copy-loop.patch
deleted file mode 100644
index 04380a575f..0000000000
--- a/meta/recipes-core/coreutils/coreutils/0001-fix-lseek-copy-loop.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From bd528f923482223649aa84be7d131e69356149da Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Sun, 4 Jan 2026 12:45:46 +0000
-Subject: [PATCH] copy: fix possible infinite loop with SEEK_HOLE
-
-Commit v9.8-95-g4c0cf3864 intended to initialize
-ext_start to src_pos, as was described at:
-https://lists.gnu.org/r/coreutils/2025-11/msg00035.html
-However ipos was inadvertently used, which is only
-valid the first time through the loop.
-
-* src/copy-file-data.c (lseek_copy): Use scan_inference->hole_start
-only with the initial offset passed to lseek_copy().
-* NEWS: Mention the bug fix.
-Reported at https://github.com/coreutils/coreutils/issues/159
-
-Upstream-Status: Backport [commit bd528f923482223649aa84be7d131e69356149da]
- - Removed changes to NEWS as they don't apply.
-
-Signed-off-by: Paul Barker <paul@pbarker.dev>
----
-
-diff --git a/src/copy-file-data.c b/src/copy-file-data.c
-index 927a6e0480..56b669fe72 100644
---- a/src/copy-file-data.c
-+++ b/src/copy-file-data.c
-@@ -338,7 +338,7 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, idx_t buf_size,
- for (off_t ext_start = scan_inference->ext_start;
- 0 <= ext_start && ext_start < max_ipos; )
- {
-- off_t ext_end = (ext_start == ipos
-+ off_t ext_end = (ext_start == src_pos
- ? scan_inference->hole_start
- : lseek (src_fd, ext_start, SEEK_HOLE));
- if (0 <= ext_end)
diff --git a/meta/recipes-core/coreutils/coreutils/0002-fix-lseek-copy-loop.patch b/meta/recipes-core/coreutils/coreutils/0002-fix-lseek-copy-loop.patch
deleted file mode 100644
index f247b6412d..0000000000
--- a/meta/recipes-core/coreutils/coreutils/0002-fix-lseek-copy-loop.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 33bc44e1ba3aa4c70f3cd16aa9c41331543986dd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Mon, 5 Jan 2026 14:46:33 +0000
-Subject: [PATCH] copy: protect against infinite loop due to pathological race
-
-Consider:
-
-1. In infer_scantype():
- - SEEK_DATA returns 0
- - hole punched at 0
- - SEEK_HOLE returns 0 (now a hole)
- - Cache scan_inference->hole_start = 0
-2. In lseek_copy():
- - data written at 0
- - ext_start = 0, use cached hole_start = 0
- - ext_len = 0
- - now loop doesn't progress
-
-* src/copy-file-data.c (lseek_copy): Apply a more defensive check
-to ensure we only use the cached offsets in SCAN_INFERENCE once.
-This protects against an infinite loop where an extent (at SRC_POS)
-flip flops between data and hole extent while infer_scantype()
-and lseek_copy() are inspecting it. I.e. ensure we use SEEK_HOLE
-to progress the copy.
-
-Upstream-Status: Backport [commit 33bc44e1ba3aa4c70f3cd16aa9c41331543986dd]
-Signed-off-by: Paul Barker <paul@pbarker.dev>
----
- src/copy-file-data.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/src/copy-file-data.c b/src/copy-file-data.c
-index 56b669fe72..9bc4311af4 100644
---- a/src/copy-file-data.c
-+++ b/src/copy-file-data.c
-@@ -335,12 +335,19 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, idx_t buf_size,
-
- debug->sparse_detection = COPY_DEBUG_EXTERNAL;
-
-+ bool used_scan_inference = false;
-+
- for (off_t ext_start = scan_inference->ext_start;
- 0 <= ext_start && ext_start < max_ipos; )
- {
-- off_t ext_end = (ext_start == src_pos
-- ? scan_inference->hole_start
-- : lseek (src_fd, ext_start, SEEK_HOLE));
-+ off_t ext_end;
-+ if (ext_start == src_pos && ! used_scan_inference)
-+ {
-+ ext_end = scan_inference->hole_start;
-+ used_scan_inference = true;
-+ }
-+ else
-+ ext_end = lseek (src_fd, ext_start, SEEK_HOLE);
- if (0 <= ext_end)
- ext_end = MIN (ext_end, max_ipos);
- else
diff --git a/meta/recipes-core/coreutils/coreutils_9.9.bb b/meta/recipes-core/coreutils/coreutils_9.10.bb
similarity index 97%
rename from meta/recipes-core/coreutils/coreutils_9.9.bb
rename to meta/recipes-core/coreutils/coreutils_9.10.bb
index 1a017cb0bb..984c5b5292 100644
--- a/meta/recipes-core/coreutils/coreutils_9.9.bb
+++ b/meta/recipes-core/coreutils/coreutils_9.10.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "http://www.gnu.org/software/coreutils/"
BUGTRACKER = "http://debbugs.gnu.org/coreutils"
LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
- file://src/ls.c;beginline=1;endline=15;md5=824c1997414aea9f344747bd81cf5a31 \
+ file://src/ls.c;beginline=1;endline=15;md5=f3bf23485dbd07e6c14bd74401b744c6\
"
DEPENDS = "gmp libcap"
DEPENDS:class-native = ""
@@ -15,11 +15,9 @@ inherit autotools gettext texinfo
SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
file://remove-usr-local-lib-from-m4.patch \
- file://0001-fix-lseek-copy-loop.patch \
- file://0002-fix-lseek-copy-loop.patch \
file://run-ptest \
"
-SRC_URI[sha256sum] = "19bcb6ca867183c57d77155eae946c5eced88183143b45ca51ad7d26c628ca75"
+SRC_URI[sha256sum] = "16535a9adf0b10037364e2d612aad3d9f4eca3a344949ced74d12faf4bd51d25"
# http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842
#
@@ -179,6 +177,7 @@ do_install_ptest () {
cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests
install -d ${D}${PTEST_PATH}/build-aux
install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
+ install -Dm 0644 ${S}/doc/coreutils.texi ${D}${PTEST_PATH}/doc/coreutils.texi
install -Dm 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/config.h
cp ${B}/Makefile ${D}${PTEST_PATH}/
cp ${S}/init.cfg ${D}${PTEST_PATH}/
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-02-19 19:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-19 19:12 [PATCH 1/2] coreutils: kill and uptime are no longer installed Randy.MacLeod
2026-02-19 19:12 ` [PATCH 2/2] coreutils: upgrade 9.9 -> 9.10 Randy.MacLeod
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox