aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/images.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-17 13:07:12 +0900
committerOphestra <cat@gensokyo.uk>2026-05-17 15:56:53 +0900
commit30eb0d6a613ad268f6805ccbcdcabf158e7f526f (patch)
tree07e55baa52748fd139e183017eeb43f5f64cee59 /internal/rosa/images.go
parentc2ff9c9fa55ea569a5e70ee90d2eb0b2ee2a0540 (diff)
internal/rosa: key metadata by string
For upcoming azalea integration. The API is quite ugly right now to ease migration. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/images.go')
-rw-r--r--internal/rosa/images.go28
1 files changed, 13 insertions, 15 deletions
diff --git a/internal/rosa/images.go b/internal/rosa/images.go
index 30efbe8a..3441bcf0 100644
--- a/internal/rosa/images.go
+++ b/internal/rosa/images.go
@@ -6,12 +6,12 @@ import (
)
func init() {
- artifactsM[EarlyInit] = Metadata{
+ native.MustRegister(&Artifact{
Name: "earlyinit",
Description: "Rosa OS initramfs init program",
- f: func(t Toolchain) (pkg.Artifact, string) {
- return t.newHakurei("-early-init", `
+ f: func(t Toolchain, s *S) (pkg.Artifact, string) {
+ return s.newHakurei(t, "-early-init", `
mkdir -p /work/system/libexec/hakurei/
echo '# Building earlyinit.'
@@ -24,15 +24,14 @@ go build -trimpath -v -o /work/system/libexec/hakurei -ldflags="-s -w
echo
`, false), Unversioned
},
- }
+ })
}
-
-func (t Toolchain) newImageSystem() (pkg.Artifact, string) {
- return t.New("system.img", TNoToolchain, t.AppendPresets(nil,
+func (t Toolchain) newImageSystem(s *S) (pkg.Artifact, string) {
+ return s.New(t, "system.img", TNoToolchain, s.AppendPresets(t, nil,
SquashfsTools,
), nil, nil, `
mksquashfs /mnt/system /work/system.img
-`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, t.AppendPresets(nil,
+`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, s.AppendPresets(t, nil,
Musl,
Mksh,
Toybox,
@@ -43,16 +42,15 @@ mksquashfs /mnt/system /work/system.img
)...)), Unversioned
}
func init() {
- artifactsM[ImageSystem] = Metadata{
+ native.MustRegister(&Artifact{
Name: "system-image",
Description: "Rosa OS system image",
f: Toolchain.newImageSystem,
- }
+ })
}
-
-func (t Toolchain) newImageInitramfs() (pkg.Artifact, string) {
- return t.New("initramfs", TNoToolchain, t.AppendPresets(nil,
+func (t Toolchain) newImageInitramfs(s *S) (pkg.Artifact, string) {
+ return s.New(t, "initramfs", TNoToolchain, s.AppendPresets(t, nil,
Zstd,
EarlyInit,
GenInitCPIO,
@@ -66,10 +64,10 @@ file /init /system/libexec/hakurei/earlyinit 0555 0 0
`)))), Unversioned
}
func init() {
- artifactsM[ImageInitramfs] = Metadata{
+ native.MustRegister(&Artifact{
Name: "initramfs-image",
Description: "Rosa OS initramfs image",
f: Toolchain.newImageInitramfs,
- }
+ })
}