commit:     7f567ed2b63e36dd1a679d02a70a2b61015bce34
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  9 19:22:34 2026 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Feb  9 19:27:36 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7f567ed2

sys-apps/systemd-utils: fix build with /bin/sh -> mksh

Closes: https://bugs.gentoo.org/969789
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 .../files/systemd-256-test-echo.patch              | 35 ++++++++++++++++++++++
 .../files/systemd-259-test-echo.patch              | 32 ++++++++++++++++++++
 sys-apps/systemd-utils/systemd-utils-255.18.ebuild |  1 +
 sys-apps/systemd-utils/systemd-utils-255.21.ebuild |  1 +
 sys-apps/systemd-utils/systemd-utils-256.17.ebuild |  4 ++-
 sys-apps/systemd-utils/systemd-utils-259.1.ebuild  |  4 +++
 6 files changed, 76 insertions(+), 1 deletion(-)

diff --git a/sys-apps/systemd-utils/files/systemd-256-test-echo.patch 
b/sys-apps/systemd-utils/files/systemd-256-test-echo.patch
new file mode 100644
index 000000000000..499e4c394c8b
--- /dev/null
+++ b/sys-apps/systemd-utils/files/systemd-256-test-echo.patch
@@ -0,0 +1,35 @@
+https://github.com/systemd/systemd/pull/40607
+
+From 3eba9932b163a5b40ae0485f3629109730b71dd2 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <[email protected]>
+Date: Sun, 8 Feb 2026 19:12:30 -0500
+Subject: [PATCH] meson: use printf instead of echo
+
+The echo builtin provided by some shells (mksh) will interpret \x2d as
+an escape sequence. This causes meson to fail:
+
+```
+test/fuzz/meson.build:93:52: ERROR: File fuzz-unit-file/dm-back-slash.swap 
does not exist.
+```
+
+Bug: https://bugs.gentoo.org/969789
+---
+ test/fuzz/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/fuzz/meson.build b/test/fuzz/meson.build
+index 54cbb75532..9e0e50f45b 100644
+--- a/test/fuzz/meson.build
++++ b/test/fuzz/meson.build
+@@ -74,7 +74,7 @@ if git.found() and fs.is_dir(project_source_root / '.git')
+                           'ls-files', ':/@0@/*/*'.format(fuzz_testsdir),
+                           check: true)
+ else
+-        out = run_command(sh, '-c', 'cd "@0@"; echo 
@1@/*/*'.format(project_source_root, fuzz_testsdir), check: true)
++        out = run_command(sh, '-c', 'cd "@0@"; printf "%s " 
@1@/*/*'.format(project_source_root, fuzz_testsdir), check: true)
+ endif
+ 
+ # Add crafted fuzz inputs we have in the repo
+-- 
+2.53.0
+

diff --git a/sys-apps/systemd-utils/files/systemd-259-test-echo.patch 
b/sys-apps/systemd-utils/files/systemd-259-test-echo.patch
new file mode 100644
index 000000000000..af592fc79119
--- /dev/null
+++ b/sys-apps/systemd-utils/files/systemd-259-test-echo.patch
@@ -0,0 +1,32 @@
+https://github.com/systemd/systemd/pull/40607
+
+From 1766be649f2c153dee6fe2c79c5aac3a21c73a7b Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <[email protected]>
+Date: Sun, 8 Feb 2026 19:12:30 -0500
+Subject: [PATCH] meson: use printf instead of echo
+
+The echo builtin provided by some shells (mksh) will interpret \x2d as
+an escape sequence. This causes meson to fail:
+
+```
+test/fuzz/meson.build:93:52: ERROR: File fuzz-unit-file/dm-back-slash.swap 
does not exist.
+```
+
+Bug: https://bugs.gentoo.org/969789
+---
+ test/fuzz/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/fuzz/meson.build b/test/fuzz/meson.build
+index d4cfc0a5b4816..6f9f43a4105f9 100644
+--- a/test/fuzz/meson.build
++++ b/test/fuzz/meson.build
+@@ -42,7 +42,7 @@ if git.found() and fs.is_dir(meson.project_source_root() / 
'.git')
+                           'ls-files', ':/@0@/*/*'.format(fuzz_testsdir),
+                           check: true)
+ else
+-        out = run_command(sh, '-c', 'cd "@0@"; echo 
@1@/*/*'.format(meson.project_source_root(), fuzz_testsdir), check: true)
++        out = run_command(sh, '-c', 'cd "@0@"; printf "%s " 
@1@/*/*'.format(meson.project_source_root(), fuzz_testsdir), check: true)
+ endif
+ 
+ # Add crafted fuzz inputs we have in the repo

diff --git a/sys-apps/systemd-utils/systemd-utils-255.18.ebuild 
b/sys-apps/systemd-utils/systemd-utils-255.18.ebuild
index 1d78b8526dab..74bf99893cb3 100644
--- a/sys-apps/systemd-utils/systemd-utils-255.18.ebuild
+++ b/sys-apps/systemd-utils/systemd-utils-255.18.ebuild
@@ -132,6 +132,7 @@ pkg_setup() {
 src_prepare() {
        local PATCHES=(
                "${FILESDIR}/systemd-utils-255-musl-fgetxxent.patch"
+               "${FILESDIR}/systemd-256-test-echo.patch"
        )
 
        if use elibc_musl; then

diff --git a/sys-apps/systemd-utils/systemd-utils-255.21.ebuild 
b/sys-apps/systemd-utils/systemd-utils-255.21.ebuild
index 054d54a49fe9..5cd340bb7f88 100644
--- a/sys-apps/systemd-utils/systemd-utils-255.21.ebuild
+++ b/sys-apps/systemd-utils/systemd-utils-255.21.ebuild
@@ -132,6 +132,7 @@ pkg_setup() {
 src_prepare() {
        local PATCHES=(
                "${FILESDIR}/systemd-utils-255-musl-fgetxxent.patch"
+               "${FILESDIR}/systemd-256-test-echo.patch"
        )
 
        if use elibc_musl; then

diff --git a/sys-apps/systemd-utils/systemd-utils-256.17.ebuild 
b/sys-apps/systemd-utils/systemd-utils-256.17.ebuild
index 426d6a643914..d7abbeda936d 100644
--- a/sys-apps/systemd-utils/systemd-utils-256.17.ebuild
+++ b/sys-apps/systemd-utils/systemd-utils-256.17.ebuild
@@ -123,7 +123,9 @@ pkg_setup() {
 }
 
 src_prepare() {
-       local PATCHES=()
+       local PATCHES=(
+               "${FILESDIR}/systemd-256-test-echo.patch"
+       )
 
        if use elibc_musl; then
                PATCHES+=(

diff --git a/sys-apps/systemd-utils/systemd-utils-259.1.ebuild 
b/sys-apps/systemd-utils/systemd-utils-259.1.ebuild
index 5a917607087a..336a175ae9fc 100644
--- a/sys-apps/systemd-utils/systemd-utils-259.1.ebuild
+++ b/sys-apps/systemd-utils/systemd-utils-259.1.ebuild
@@ -106,6 +106,10 @@ QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
 CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
        ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
 
+PATCHES=(
+       "${FILESDIR}/systemd-259-test-echo.patch"
+)
+
 pkg_setup() {
        if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
                linux-info_pkg_setup

Reply via email to