internal/rosa: pass stage alongside state

This cleans up many function signatures.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-17 16:44:13 +09:00
parent 30eb0d6a61
commit 38bc2c7508
89 changed files with 563 additions and 558 deletions

View File

@@ -7,12 +7,12 @@ import (
"hakurei.app/internal/pkg"
)
func (t Toolchain) newGit(s *S) (pkg.Artifact, string) {
func (t Toolchain) newGit() (pkg.Artifact, string) {
const (
version = "2.54.0"
checksum = "7vGKtFOJGqY8DO4e8UMRax7dLgImXKQz5MMalec6MlgYrsarffSJjgOughwRFpSH"
)
return s.NewPackage(t, "git", version, newTar(
return t.NewPackage("git", version, newTar(
"https://www.kernel.org/pub/software/scm/git/"+
"git-"+version+".tar.gz",
checksum,
@@ -106,15 +106,14 @@ func init() {
}
// NewViaGit returns a [pkg.Artifact] for cloning a git repository.
func (s *S) NewViaGit(
t Toolchain,
func (t Toolchain) NewViaGit(
url, rev string,
checksum pkg.Checksum,
) pkg.Artifact {
return s.New(t, strings.TrimSuffix(
return t.New(strings.TrimSuffix(
path.Base(url),
".git",
)+"-src-"+path.Base(rev), THostNet, s.AppendPresets(t, nil,
)+"-src-"+path.Base(rev), THostNet, t.Append(nil,
NSSCACert,
Git,
), &checksum, nil, `
@@ -132,6 +131,6 @@ rm -rf /work/.git
}
// newTagRemote is a helper around NewViaGit for a tag on a git remote.
func (s *S) newTagRemote(t Toolchain, url, tag, checksum string) pkg.Artifact {
return s.NewViaGit(t, url, "refs/tags/"+tag, mustDecode(checksum))
func (t Toolchain) newTagRemote(url, tag, checksum string) pkg.Artifact {
return t.NewViaGit(url, "refs/tags/"+tag, mustDecode(checksum))
}