From 66118ba9419b52f0c993b7ce715807fde7e9e07e Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 28 Jan 2026 01:22:42 +0900 Subject: [PATCH] internal/rosa: gawk artifact Replaces broken awk in busybox. Signed-off-by: Ophestra --- cmd/mbf/main.go | 2 ++ internal/rosa/all.go | 1 + internal/rosa/gnu.go | 22 ++++++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index fc61818..8aead56 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -166,6 +166,8 @@ func main() { p = rosa.Diffutils case "fuse": p = rosa.Fuse + case "gawk": + p = rosa.Gawk case "gettext": p = rosa.Gettext case "git": diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 7d9fde5..18ea6ca 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -19,6 +19,7 @@ const ( Coreutils Diffutils Fuse + Gawk Gettext Git Go diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go index e3fe7ae..c5a5d2c 100644 --- a/internal/rosa/gnu.go +++ b/internal/rosa/gnu.go @@ -248,3 +248,25 @@ make DESTDIR=/work install ))) } func init() { artifactsF[Gperf] = Toolchain.newGperf } + +func (t Toolchain) newGawk() pkg.Artifact { + const ( + version = "5.3.2" + checksum = "uIs0d14h_d2DgMGYwrPtegGNyt_bxzG3D6Fe-MmExx_pVoVkQaHzrtmiXVr6NHKk" + ) + return t.New("gawk-"+version, false, []pkg.Artifact{ + t.Load(Make), + }, nil, nil, ` +cd "$(mktemp -d)" +/usr/src/gawk/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" +make "-j$(nproc)" +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("gawk"), true, pkg.NewHTTPGetTar( + nil, "https://ftp.gnu.org/gnu/gawk/gawk-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[Gawk] = Toolchain.newGawk }