internal/rosa/hakurei: 0.3.4 to 0.3.5
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m37s
Test / ShareFS (push) Successful in 3m59s
Test / Hpkg (push) Successful in 4m33s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 6m16s
Test / Hakurei (push) Successful in 3m0s
Test / Flake checks (push) Successful in 2m7s
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m37s
Test / ShareFS (push) Successful in 3m59s
Test / Hpkg (push) Successful in 4m33s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 6m16s
Test / Hakurei (push) Successful in 3m0s
Test / Flake checks (push) Successful in 2m7s
This removes all backport patches. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -6,8 +6,8 @@ import (
|
|||||||
|
|
||||||
func (t Toolchain) newHakurei(suffix, script string) pkg.Artifact {
|
func (t Toolchain) newHakurei(suffix, script string) pkg.Artifact {
|
||||||
const (
|
const (
|
||||||
version = "0.3.4"
|
version = "0.3.5"
|
||||||
checksum = "wVwSLo75a2OnH5tgxNWXR_YhiOJUFnYM_9-sJtxAEOKhcPE0BJafs6PU8o5JzyCT"
|
checksum = "6Tn38NLezRD2d3aGdFg5qFfqn8_KvC6HwMKwJMPvaHmVw8xRgxn8B0PObswl2mOk"
|
||||||
)
|
)
|
||||||
return t.New("hakurei"+suffix+"-"+version, 0, []pkg.Artifact{
|
return t.New("hakurei"+suffix+"-"+version, 0, []pkg.Artifact{
|
||||||
t.Load(Go),
|
t.Load(Go),
|
||||||
@@ -44,213 +44,12 @@ chmod -R +w /usr/src/hakurei
|
|||||||
cd /usr/src/hakurei
|
cd /usr/src/hakurei
|
||||||
|
|
||||||
HAKUREI_VERSION='v`+version+`'
|
HAKUREI_VERSION='v`+version+`'
|
||||||
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, t.NewPatchedSource("hakurei", version, pkg.NewHTTPGetTar(
|
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, pkg.NewHTTPGetTar(
|
||||||
nil, "https://git.gensokyo.uk/security/hakurei/archive/"+
|
nil, "https://git.gensokyo.uk/security/hakurei/archive/"+
|
||||||
"v"+version+".tar.gz",
|
"v"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), true, [2]string{"dist-00-tests", `From 67e453f5c4de915de23ecbe5980e595758f0f2fb Mon Sep 17 00:00:00 2001
|
)), pkg.Path(AbsUsrSrc.Append("hostname", "main.go"), false, pkg.NewFile(
|
||||||
From: Ophestra <cat@gensokyo.uk>
|
|
||||||
Date: Tue, 27 Jan 2026 06:49:48 +0900
|
|
||||||
Subject: [PATCH] dist: run tests
|
|
||||||
|
|
||||||
This used to be impossible due to nix jank which has been addressed.
|
|
||||||
|
|
||||||
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
||||||
---
|
|
||||||
dist/release.sh | 21 ++++++++++++++++-----
|
|
||||||
flake.nix | 32 ++++++++++++++++++++------------
|
|
||||||
internal/acl/acl_test.go | 2 +-
|
|
||||||
package.nix | 2 +-
|
|
||||||
4 files changed, 38 insertions(+), 19 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dist/release.sh b/dist/release.sh
|
|
||||||
index 4dcb278..0ba9104 100755
|
|
||||||
--- a/dist/release.sh
|
|
||||||
+++ b/dist/release.sh
|
|
||||||
@@ -2,19 +2,30 @@
|
|
||||||
cd "$(dirname -- "$0")/.."
|
|
||||||
VERSION="${HAKUREI_VERSION:-untagged}"
|
|
||||||
pname="hakurei-${VERSION}"
|
|
||||||
-out="dist/${pname}"
|
|
||||||
+out="${DESTDIR:-dist}/${pname}"
|
|
||||||
|
|
||||||
+echo '# Preparing distribution files.'
|
|
||||||
mkdir -p "${out}"
|
|
||||||
cp -v "README.md" "dist/hsurc.default" "dist/install.sh" "${out}"
|
|
||||||
cp -rv "dist/comp" "${out}"
|
|
||||||
+echo
|
|
||||||
|
|
||||||
+echo '# Building hakurei.'
|
|
||||||
go generate ./...
|
|
||||||
-go build -trimpath -v -o "${out}/bin/" -ldflags "-s -w -buildid= -extldflags '-static'
|
|
||||||
+go build -trimpath -v -o "${out}/bin/" -ldflags "-s -w
|
|
||||||
+ -buildid= -extldflags '-static'
|
|
||||||
-X hakurei.app/internal/info.buildVersion=${VERSION}
|
|
||||||
-X hakurei.app/internal/info.hakureiPath=/usr/bin/hakurei
|
|
||||||
-X hakurei.app/internal/info.hsuPath=/usr/bin/hsu
|
|
||||||
-X main.hakureiPath=/usr/bin/hakurei" ./...
|
|
||||||
+echo
|
|
||||||
|
|
||||||
-rm -f "./${out}.tar.gz" && tar -C dist -czf "${out}.tar.gz" "${pname}"
|
|
||||||
-rm -rf "./${out}"
|
|
||||||
-(cd dist && sha512sum "${pname}.tar.gz" > "${pname}.tar.gz.sha512")
|
|
||||||
+echo '# Testing hakurei.'
|
|
||||||
+go test -ldflags='-buildid= -extldflags=-static' ./...
|
|
||||||
+echo
|
|
||||||
+
|
|
||||||
+echo '# Creating distribution.'
|
|
||||||
+rm -f "${out}.tar.gz" && tar -C "${out}/.." -vczf "${out}.tar.gz" "${pname}"
|
|
||||||
+rm -rf "${out}"
|
|
||||||
+(cd "${out}/.." && sha512sum "${pname}.tar.gz" > "${pname}.tar.gz.sha512")
|
|
||||||
+echo
|
|
||||||
diff --git a/flake.nix b/flake.nix
|
|
||||||
index 9e09c61..2340b92 100644
|
|
||||||
--- a/flake.nix
|
|
||||||
+++ b/flake.nix
|
|
||||||
@@ -143,19 +143,27 @@
|
|
||||||
"bin/mount.fuse.sharefs" = "${hakurei}/libexec/sharefs";
|
|
||||||
};
|
|
||||||
|
|
||||||
- dist = pkgs.runCommand "${hakurei.name}-dist" { buildInputs = hakurei.targetPkgs ++ [ pkgs.pkgsStatic.musl ]; } ''
|
|
||||||
- # go requires XDG_CACHE_HOME for the build cache
|
|
||||||
- export XDG_CACHE_HOME="$(mktemp -d)"
|
|
||||||
+ dist =
|
|
||||||
+ pkgs.runCommand "${hakurei.name}-dist"
|
|
||||||
+ {
|
|
||||||
+ buildInputs = hakurei.targetPkgs ++ [
|
|
||||||
+ pkgs.pkgsStatic.musl
|
|
||||||
+ ];
|
|
||||||
+ }
|
|
||||||
+ ''
|
|
||||||
+ cd $(mktemp -d) \
|
|
||||||
+ && cp -r ${hakurei.src}/. . \
|
|
||||||
+ && chmod +w cmd && cp -r ${hsu.src}/. cmd/hsu/ \
|
|
||||||
+ && chmod -R +w .
|
|
||||||
|
|
||||||
- # get a different workdir as go does not like /build
|
|
||||||
- cd $(mktemp -d) \
|
|
||||||
- && cp -r ${hakurei.src}/. . \
|
|
||||||
- && chmod +w cmd && cp -r ${hsu.src}/. cmd/hsu/ \
|
|
||||||
- && chmod -R +w .
|
|
||||||
-
|
|
||||||
- export HAKUREI_VERSION="v${hakurei.version}"
|
|
||||||
- CC="clang -O3 -Werror" ./dist/release.sh && mkdir $out && cp -v "dist/hakurei-$HAKUREI_VERSION.tar.gz"* $out
|
|
||||||
- '';
|
|
||||||
+ CC="musl-clang -O3 -Werror -Qunused-arguments" \
|
|
||||||
+ GOCACHE="$(mktemp -d)" \
|
|
||||||
+ HAKUREI_TEST_SKIP_ACL=1 \
|
|
||||||
+ PATH="${pkgs.pkgsStatic.musl.bin}/bin:$PATH" \
|
|
||||||
+ DESTDIR="$out" \
|
|
||||||
+ HAKUREI_VERSION="v${hakurei.version}" \
|
|
||||||
+ ./dist/release.sh
|
|
||||||
+ '';
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
diff --git a/internal/acl/acl_test.go b/internal/acl/acl_test.go
|
|
||||||
index af6da55..19ce45a 100644
|
|
||||||
--- a/internal/acl/acl_test.go
|
|
||||||
+++ b/internal/acl/acl_test.go
|
|
||||||
@@ -24,7 +24,7 @@ var (
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestUpdate(t *testing.T) {
|
|
||||||
- if os.Getenv("GO_TEST_SKIP_ACL") == "1" {
|
|
||||||
+ if os.Getenv("HAKUREI_TEST_SKIP_ACL") == "1" {
|
|
||||||
t.Skip("acl test skipped")
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/package.nix b/package.nix
|
|
||||||
index 00c4401..2eaa2ec 100644
|
|
||||||
--- a/package.nix
|
|
||||||
+++ b/package.nix
|
|
||||||
@@ -89,7 +89,7 @@ buildGoModule rec {
|
|
||||||
CC = "clang -O3 -Werror";
|
|
||||||
|
|
||||||
# nix build environment does not allow acls
|
|
||||||
- GO_TEST_SKIP_ACL = 1;
|
|
||||||
+ HAKUREI_TEST_SKIP_ACL = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [`}, [2]string{"container-tests", `From bf14a412e47344fff2681f4b24d1ecc7415bfcb0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ophestra <cat@gensokyo.uk>
|
|
||||||
Date: Sat, 31 Jan 2026 10:59:56 +0900
|
|
||||||
Subject: [PATCH] container: fix host-dependent test cases
|
|
||||||
|
|
||||||
These are not fully controlled by hakurei and may change depending on host configuration.
|
|
||||||
|
|
||||||
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
||||||
---
|
|
||||||
container/container_test.go | 27 +++++++++++++++------------
|
|
||||||
1 file changed, 15 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/container/container_test.go b/container/container_test.go
|
|
||||||
index d737a18..98713cb 100644
|
|
||||||
--- a/container/container_test.go
|
|
||||||
+++ b/container/container_test.go
|
|
||||||
@@ -275,12 +275,12 @@ var containerTestCases = []struct {
|
|
||||||
),
|
|
||||||
earlyMnt(
|
|
||||||
ent("/", "/dev", "ro,nosuid,nodev,relatime", "tmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/null", "/dev/null", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/zero", "/dev/zero", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/full", "/dev/full", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/random", "/dev/random", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/urandom", "/dev/urandom", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/tty", "/dev/tty", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/null", "/dev/null", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/zero", "/dev/zero", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/full", "/dev/full", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/random", "/dev/random", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/urandom", "/dev/urandom", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/tty", "/dev/tty", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
ent("/", "/dev/pts", "rw,nosuid,noexec,relatime", "devpts", "devpts", "rw,mode=620,ptmxmode=666"),
|
|
||||||
ent("/", "/dev/mqueue", "rw,nosuid,nodev,noexec,relatime", "mqueue", "mqueue", "rw"),
|
|
||||||
ent("/", "/dev/shm", "rw,nosuid,nodev,relatime", "tmpfs", "tmpfs", ignore),
|
|
||||||
@@ -293,12 +293,12 @@ var containerTestCases = []struct {
|
|
||||||
),
|
|
||||||
earlyMnt(
|
|
||||||
ent("/", "/dev", "ro,nosuid,nodev,relatime", "tmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/null", "/dev/null", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/zero", "/dev/zero", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/full", "/dev/full", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/random", "/dev/random", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/urandom", "/dev/urandom", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
- ent("/tty", "/dev/tty", "rw,nosuid", "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/null", "/dev/null", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/zero", "/dev/zero", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/full", "/dev/full", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/random", "/dev/random", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/urandom", "/dev/urandom", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
+ ent("/tty", "/dev/tty", ignore, "devtmpfs", "devtmpfs", ignore),
|
|
||||||
ent("/", "/dev/pts", "rw,nosuid,noexec,relatime", "devpts", "devpts", "rw,mode=620,ptmxmode=666"),
|
|
||||||
ent("/", "/dev/shm", "rw,nosuid,nodev,relatime", "tmpfs", "tmpfs", ignore),
|
|
||||||
),
|
|
||||||
@@ -696,6 +696,9 @@ func init() {
|
|
||||||
mnt[i].VfsOptstr = strings.TrimSuffix(mnt[i].VfsOptstr, ",relatime")
|
|
||||||
mnt[i].VfsOptstr = strings.TrimSuffix(mnt[i].VfsOptstr, ",noatime")
|
|
||||||
|
|
||||||
+ cur.FsOptstr = strings.Replace(cur.FsOptstr, ",seclabel", "", 1)
|
|
||||||
+ mnt[i].FsOptstr = strings.Replace(mnt[i].FsOptstr, ",seclabel", "", 1)
|
|
||||||
+
|
|
||||||
if !cur.EqualWithIgnore(mnt[i], "\x00") {
|
|
||||||
fail = true
|
|
||||||
log.Printf("[FAIL] %s", cur)`}, [2]string{"dist-01-tarball-name", `diff --git a/dist/release.sh b/dist/release.sh
|
|
||||||
index 0ba9104..2990ee1 100755
|
|
||||||
--- a/dist/release.sh
|
|
||||||
+++ b/dist/release.sh
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
#!/bin/sh -e
|
|
||||||
cd "$(dirname -- "$0")/.."
|
|
||||||
VERSION="${HAKUREI_VERSION:-untagged}"
|
|
||||||
-pname="hakurei-${VERSION}"
|
|
||||||
+pname="hakurei-${VERSION}-$(go env GOARCH)"
|
|
||||||
out="${DESTDIR:-dist}/${pname}"
|
|
||||||
|
|
||||||
echo '# Preparing distribution files.'
|
|
||||||
`}),
|
|
||||||
), pkg.Path(AbsUsrSrc.Append("hostname", "main.go"), false, pkg.NewFile(
|
|
||||||
"hostname.go",
|
"hostname.go",
|
||||||
[]byte(`
|
[]byte(`
|
||||||
package main
|
package main
|
||||||
|
|||||||
Reference in New Issue
Block a user