forked from security/hakurei
internal/rosa/hakurei: optional hostname tool
This makes it more efficient to reuse the helper for partial builds. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -2,7 +2,19 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newHakurei(suffix, script string) pkg.Artifact {
|
func (t Toolchain) newHakurei(
|
||||||
|
suffix, script string,
|
||||||
|
withHostname bool,
|
||||||
|
) pkg.Artifact {
|
||||||
|
hostname := `
|
||||||
|
echo '# Building test helper (hostname).'
|
||||||
|
go build -v -o /bin/hostname /usr/src/hostname/main.go
|
||||||
|
echo
|
||||||
|
`
|
||||||
|
if !withHostname {
|
||||||
|
hostname = ""
|
||||||
|
}
|
||||||
|
|
||||||
return t.New("hakurei"+suffix+"-"+hakureiVersion, 0, []pkg.Artifact{
|
return t.New("hakurei"+suffix+"-"+hakureiVersion, 0, []pkg.Artifact{
|
||||||
t.Load(Go),
|
t.Load(Go),
|
||||||
|
|
||||||
@@ -29,17 +41,12 @@ func (t Toolchain) newHakurei(suffix, script string) pkg.Artifact {
|
|||||||
"CGO_ENABLED=1",
|
"CGO_ENABLED=1",
|
||||||
"GOCACHE=/tmp/gocache",
|
"GOCACHE=/tmp/gocache",
|
||||||
"CC=clang -O3 -Werror",
|
"CC=clang -O3 -Werror",
|
||||||
}, `
|
}, hostname+`
|
||||||
echo '# Building test helper (hostname).'
|
|
||||||
go build -v -o /bin/hostname /usr/src/hostname/main.go
|
|
||||||
echo
|
|
||||||
|
|
||||||
chmod -R +w /usr/src/hakurei
|
|
||||||
cd /usr/src/hakurei
|
cd /usr/src/hakurei
|
||||||
|
|
||||||
HAKUREI_VERSION='v`+hakureiVersion+`'
|
HAKUREI_VERSION='v`+hakureiVersion+`'
|
||||||
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, t.NewPatchedSource(
|
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, t.NewPatchedSource(
|
||||||
"hakurei", hakureiVersion, hakureiSource, true, hakureiPatches...,
|
"hakurei", hakureiVersion, hakureiSource, false, hakureiPatches...,
|
||||||
)), pkg.Path(AbsUsrSrc.Append("hostname", "main.go"), false, pkg.NewFile(
|
)), pkg.Path(AbsUsrSrc.Append("hostname", "main.go"), false, pkg.NewFile(
|
||||||
"hostname.go",
|
"hostname.go",
|
||||||
[]byte(`
|
[]byte(`
|
||||||
@@ -69,10 +76,11 @@ go build -trimpath -v -o /work/system/libexec/hakurei -ldflags="-s -w
|
|||||||
-buildid=
|
-buildid=
|
||||||
-linkmode external
|
-linkmode external
|
||||||
-extldflags=-static
|
-extldflags=-static
|
||||||
-X hakurei.app/internal/info.buildVersion="$HAKUREI_VERSION"
|
-X hakurei.app/internal/info.buildVersion=${HAKUREI_VERSION}
|
||||||
-X hakurei.app/internal/info.hakureiPath=/system/bin/hakurei
|
-X hakurei.app/internal/info.hakureiPath=/system/bin/hakurei
|
||||||
-X hakurei.app/internal/info.hsuPath=/system/bin/hsu
|
-X hakurei.app/internal/info.hsuPath=/system/bin/hsu
|
||||||
-X main.hakureiPath=/system/bin/hakurei" ./...
|
-X main.hakureiPath=/system/bin/hakurei
|
||||||
|
" ./...
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo '# Testing hakurei.'
|
echo '# Testing hakurei.'
|
||||||
@@ -84,7 +92,7 @@ mkdir -p /work/system/bin/
|
|||||||
hakurei \
|
hakurei \
|
||||||
sharefs \
|
sharefs \
|
||||||
../../bin/)
|
../../bin/)
|
||||||
`), hakureiVersion
|
`, true), hakureiVersion
|
||||||
},
|
},
|
||||||
|
|
||||||
Name: "hakurei",
|
Name: "hakurei",
|
||||||
@@ -98,7 +106,7 @@ mkdir -p /work/system/bin/
|
|||||||
return t.newHakurei("-dist", `
|
return t.newHakurei("-dist", `
|
||||||
export HAKUREI_VERSION
|
export HAKUREI_VERSION
|
||||||
DESTDIR=/work /usr/src/hakurei/dist/release.sh
|
DESTDIR=/work /usr/src/hakurei/dist/release.sh
|
||||||
`), hakureiVersion
|
`, true), hakureiVersion
|
||||||
},
|
},
|
||||||
|
|
||||||
Name: "hakurei-dist",
|
Name: "hakurei-dist",
|
||||||
|
|||||||
Reference in New Issue
Block a user