From d1b404dc3a257a8063cb7d69b60c17c0c59c48a2 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 29 Jan 2026 18:24:01 +0900 Subject: [PATCH] internal/rosa: findutils artifact Required by llvm test suite, compiler-rt sanitisers-related tests fail on toybox xargs. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 ++ internal/rosa/gnu.go | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 4a2c9ac..bf79f1e 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -18,6 +18,7 @@ const ( CMake Coreutils Diffutils + Findutils Fuse Gawk Gettext @@ -97,6 +98,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "cmake": CMake, "coreutils": Coreutils, "diffutils": Diffutils, + "findutils": Findutils, "fuse": Fuse, "gawk": Gawk, "gettext": Gettext, diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go index 9aa9142..8104dba 100644 --- a/internal/rosa/gnu.go +++ b/internal/rosa/gnu.go @@ -322,3 +322,35 @@ make DESTDIR=/work install ))) } func init() { artifactsF[Gawk] = Toolchain.newGawk } + +func (t Toolchain) newFindutils() pkg.Artifact { + const ( + version = "4.10.0" + checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6" + ) + return t.New("findutils-"+version, false, []pkg.Artifact{ + t.Load(Make), + t.Load(XZ), + t.Load(Sed), + }, nil, nil, ` +cd /usr/src +xzcat findutils.tar.xz | tar -x +mv 'findutils-`+version+`' findutils + +cd findutils +echo '#!/bin/sh' > gnulib-tests/test-c32ispunct.sh +echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c + +cd "$(mktemp -d)" +/usr/src/findutils/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" +make "-j$(nproc)" check +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("findutils.tar.xz"), false, pkg.NewHTTPGet( + nil, + "https://ftp.gnu.org/gnu/findutils/findutils-"+version+".tar.xz", + mustDecode(checksum), + ))) +} +func init() { artifactsF[Findutils] = Toolchain.newFindutils }