From b7ea68de35ca3df81bc811fdf8edede4c29de333 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Tue, 27 Jan 2026 07:28:13 +0900 Subject: [PATCH] internal/rosa/hakurei: isolate hakurei helper For creating the dist tarball, which runs in the same environment. Signed-off-by: Ophestra --- internal/rosa/hakurei.go | 51 +++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/internal/rosa/hakurei.go b/internal/rosa/hakurei.go index afe0adc..bc9aa2a 100644 --- a/internal/rosa/hakurei.go +++ b/internal/rosa/hakurei.go @@ -4,7 +4,7 @@ import ( "hakurei.app/internal/pkg" ) -func (t Toolchain) newHakurei() pkg.Artifact { +func (t Toolchain) newHakurei(script string) pkg.Artifact { const ( version = "0.3.4" checksum = "wVwSLo75a2OnH5tgxNWXR_YhiOJUFnYM_9-sJtxAEOKhcPE0BJafs6PU8o5JzyCT" @@ -39,27 +39,9 @@ echo chmod -R +w /usr/src/hakurei cd /usr/src/hakurei -mkdir -p /work/system/{bin,libexec/hakurei} -echo '# Building hakurei.' -go generate -v ./... -go build -trimpath -v -o /work/system/libexec/hakurei -ldflags="-s -w - -buildid= - -extldflags=-static - -X hakurei.app/internal/info.buildVersion='v`+version+`' - -X hakurei.app/internal/info.hakureiPath=/system/bin/hakurei - -X hakurei.app/internal/info.hsuPath=/system/bin/hsu - -X main.hakureiPath=/system/bin/hakurei" ./... -echo - -echo '# Testing hakurei.' -go test -ldflags='-buildid= -extldflags=-static' ./... -echo - -mv \ - /work/system/libexec/hakurei/{hakurei,hpkg} \ - /work/system/bin -`, pkg.Path(AbsUsrSrc.Append("hakurei"), true, pkg.NewHTTPGetTar( +HAKUREI_VERSION='v`+version+`' +`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, pkg.NewHTTPGetTar( nil, "https://git.gensokyo.uk/security/hakurei/archive/"+ "v"+version+".tar.gz", mustDecode(checksum), @@ -81,4 +63,29 @@ func main() { `), ))) } -func init() { artifactsF[Hakurei] = Toolchain.newHakurei } +func init() { + artifactsF[Hakurei] = func(t Toolchain) pkg.Artifact { + return t.newHakurei(` +mkdir -p /work/system/{bin,libexec/hakurei} + +echo '# Building hakurei.' +go generate -v ./... +go build -trimpath -v -o /work/system/libexec/hakurei -ldflags="-s -w + -buildid= + -extldflags=-static + -X hakurei.app/internal/info.buildVersion="$HAKUREI_VERSION" + -X hakurei.app/internal/info.hakureiPath=/system/bin/hakurei + -X hakurei.app/internal/info.hsuPath=/system/bin/hsu + -X main.hakureiPath=/system/bin/hakurei" ./... +echo + +echo '# Testing hakurei.' +go test -ldflags='-buildid= -extldflags=-static' ./... +echo + +mv \ + /work/system/libexec/hakurei/{hakurei,sharefs} \ + /work/system/bin +`) + } +}