From cc60e0d15d79916a69c8a1caeb3c4611351bb6c4 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 1 Mar 2026 23:54:40 +0900 Subject: internal/rosa/make: migrate to helper interface This also updates all affected artifacts to use new behaviour. Signed-off-by: Ophestra --- internal/rosa/kernel.go | 97 +++++++++++++++++++++++++------------------------ 1 file changed, 50 insertions(+), 47 deletions(-) (limited to 'internal/rosa/kernel.go') diff --git a/internal/rosa/kernel.go b/internal/rosa/kernel.go index def556ce..5d9bf6ff 100644 --- a/internal/rosa/kernel.go +++ b/internal/rosa/kernel.go @@ -21,7 +21,9 @@ chmod -R +w /work/usr/src/linux/ func init() { artifactsF[KernelSource] = Toolchain.newKernelSource } func (t Toolchain) newKernelHeaders() pkg.Artifact { - return t.NewViaMake("kernel-headers", kernelVersion, kernelSource, &MakeAttr{ + return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{ + Flag: TEarly, + }, &MakeHelper{ SkipConfigure: true, SkipCheck: true, @@ -33,23 +35,15 @@ func (t Toolchain) newKernelHeaders() pkg.Artifact { "INSTALL_HDR_PATH=/work/system", "headers_install", }, - ScriptInstall: "\n", - - Flag: TEarly, + Install: "# headers installed during make", }, - t.Load(Rsync), + Rsync, ) } func init() { artifactsF[KernelHeaders] = Toolchain.newKernelHeaders } func (t Toolchain) newKernel() pkg.Artifact { - return t.NewViaMake("kernel", kernelVersion, kernelSource, &MakeAttr{ - OmitDefaults: true, - SkipConfigure: true, - - // Build, install, and boot kernel before running kselftest on it. - SkipCheck: true, - + return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{ Env: []string{ "PATH=/system/sbin", }, @@ -61,6 +55,28 @@ install -Dm0500 \ /usr/src/.installkernel \ /sbin/installkernel `, + + Paths: []pkg.ExecPath{ + pkg.Path(AbsUsrSrc.Append( + ".config", + ), false, pkg.NewFile(".config", kernelConfig)), + pkg.Path(AbsUsrSrc.Append( + ".installkernel", + ), false, pkg.NewFile("installkernel", []byte(`#!/bin/sh -e +echo "Installing linux $1..." +cp -av "$2" "$4" +cp -av "$3" "$4" +`))), + }, + + Flag: TExclusive, + }, &MakeHelper{ + OmitDefaults: true, + SkipConfigure: true, + + // Build, install, and boot kernel before running kselftest on it. + SkipCheck: true, + Make: []string{ "-f /usr/src/kernel/Makefile", "O=/tmp/kbuild", @@ -72,7 +88,7 @@ install -Dm0500 \ "KBUILD_BUILD_HOST=localhost", "all", }, - ScriptInstall: ` + Install: ` make \ "-j$(nproc)" \ -f /usr/src/kernel/Makefile \ @@ -84,42 +100,29 @@ make \ modules_install rm -v /work/lib/modules/` + kernelVersion + `/build `, - - Paths: []pkg.ExecPath{ - pkg.Path(AbsUsrSrc.Append( - ".config", - ), false, pkg.NewFile(".config", kernelConfig)), - pkg.Path(AbsUsrSrc.Append( - ".installkernel", - ), false, pkg.NewFile("installkernel", []byte(`#!/bin/sh -e -echo "Installing linux $1..." -cp -av "$2" "$4" -cp -av "$3" "$4" -`))), - }, }, - t.Load(Flex), - t.Load(Bison), - t.Load(M4), - t.Load(Tar), - t.Load(Perl), - t.Load(BC), - t.Load(Sed), - t.Load(Gawk), - t.Load(Coreutils), - t.Load(Diffutils), - t.Load(Python), + Flex, + Bison, + M4, + Tar, + Perl, + BC, + Sed, + Gawk, + Coreutils, + Diffutils, + Python, - t.Load(XZ), - t.Load(Zlib), - t.Load(Gzip), - t.Load(Bzip2), - t.Load(Zstd), - t.Load(Kmod), - t.Load(Elfutils), - t.Load(OpenSSL), - t.Load(UtilLinux), - t.Load(KernelHeaders), + XZ, + Zlib, + Gzip, + Bzip2, + Zstd, + Kmod, + Elfutils, + OpenSSL, + UtilLinux, + KernelHeaders, ) } func init() { artifactsF[Kernel] = Toolchain.newKernel } -- cgit v1.3.1