diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-19 00:03:42 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-19 00:44:24 +0900 |
| commit | 8807cbc7305e424725b2be8eed7ecd9234f7772e (patch) | |
| tree | 5998f055396505becf0f99fcba3c86514f00650b /internal/rosa/images.go | |
| parent | 0e95573f187f64de1a46f27af67325e57037b9a9 (diff) | |
internal/rosa: create metadata alongside artifact
This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/images.go')
| -rw-r--r-- | internal/rosa/images.go | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/internal/rosa/images.go b/internal/rosa/images.go index 715035cc..561eee7c 100644 --- a/internal/rosa/images.go +++ b/internal/rosa/images.go @@ -6,12 +6,13 @@ import ( ) func init() { - native.MustRegister(&Artifact{ + meta := Metadata{ Name: "earlyinit", Description: "Rosa OS initramfs init program", - - f: func(t Toolchain) (pkg.Artifact, string) { - return t.newHakurei("-early-init", ` + Version: Unversioned, + } + native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) { + return &meta, t.newHakurei("-early-init", ` mkdir -p /work/system/libexec/hakurei/ echo '# Building earlyinit.' @@ -22,52 +23,51 @@ go build -trimpath -v -o /work/system/libexec/hakurei -ldflags="-s -w -X hakurei.app/internal/info.buildVersion=${HAKUREI_VERSION} " ./cmd/earlyinit echo -`, false), Unversioned - }, +`, false) }) } -func (t Toolchain) newImageSystem() (pkg.Artifact, string) { - return t.New("system.img", TNoToolchain, t.Append(nil, - SquashfsTools, - ), nil, nil, ` -mksquashfs /mnt/system /work/system.img -`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, t.Append(nil, - Musl, - Mksh, - Toybox, - Kmod, - Kernel, - Firmware, - )...)), Unversioned -} func init() { - native.MustRegister(&Artifact{ + meta := Metadata{ Name: "system-image", Description: "Rosa OS system image", + Version: Unversioned, + } + native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) { + return &meta, t.New("system.img", TNoToolchain, t.Append(nil, + SquashfsTools, + ), nil, nil, ` +mksquashfs /mnt/system /work/system.img +`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, t.Append(nil, + Musl, + Mksh, + Toybox, - f: Toolchain.newImageSystem, + Kmod, + Kernel, + Firmware, + )...)) }) } -func (t Toolchain) newImageInitramfs() (pkg.Artifact, string) { - return t.New("initramfs", TNoToolchain, t.Append(nil, - Zstd, - EarlyInit, - GenInitCPIO, - ), nil, nil, ` + +func init() { + meta := Metadata{ + Name: "initramfs-image", + Description: "Rosa OS initramfs image", + Version: Unversioned, + } + native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) { + return &meta, t.New("initramfs", TNoToolchain, t.Append(nil, + Zstd, + EarlyInit, + GenInitCPIO, + ), nil, nil, ` gen_init_cpio -t 4294967295 -c /usr/src/initramfs | zstd > /work/initramfs.zst `, pkg.Path(AbsUsrSrc.Append("initramfs"), false, pkg.NewFile("initramfs", []byte(` dir /dev 0755 0 0 nod /dev/null 0666 0 0 c 1 3 nod /dev/console 0600 0 0 c 5 1 file /init /system/libexec/hakurei/earlyinit 0555 0 0 -`)))), Unversioned -} -func init() { - native.MustRegister(&Artifact{ - Name: "initramfs-image", - Description: "Rosa OS initramfs image", - - f: Toolchain.newImageInitramfs, +`)))) }) } |
