internal/rosa: squashfs-tools artifact
All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m34s
Test / Hakurei (push) Successful in 3m47s
Test / ShareFS (push) Successful in 4m2s
Test / Hpkg (push) Successful in 4m26s
Test / Sandbox (race detector) (push) Successful in 5m9s
Test / Hakurei (race detector) (push) Successful in 6m15s
Test / Flake checks (push) Successful in 1m46s

The Makefile is very poorly written, so had to be configured through the environment.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-02-12 02:33:33 +09:00
parent 3e18a4b397
commit 7cd14b8865
2 changed files with 43 additions and 0 deletions

View File

@@ -65,6 +65,7 @@ const (
Rsync Rsync
Sed Sed
Setuptools Setuptools
SquashfsTools
Toybox Toybox
toyboxEarly toyboxEarly
Unzip Unzip
@@ -168,6 +169,7 @@ func ResolveName(name string) (p PArtifact, ok bool) {
"rsync": Rsync, "rsync": Rsync,
"sed": Sed, "sed": Sed,
"setuptools": Setuptools, "setuptools": Setuptools,
"squashfs-tools": SquashfsTools,
"toybox": Toybox, "toybox": Toybox,
"unzip": Unzip, "unzip": Unzip,
"wayland": Wayland, "wayland": Wayland,

41
internal/rosa/squashfs.go Normal file
View File

@@ -0,0 +1,41 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newSquashfsTools() pkg.Artifact {
const (
version = "4.7.4"
checksum = "pG0E_wkRJFS6bvPYF-hTKZT-cWnvo5BbIzCDZrJZVQDgJOx2Vc3ZfNSEV7Di7cSW"
)
return t.NewViaMake("squashfs-tools", version, t.NewPatchedSource(
"squashfs-tools", version, pkg.NewHTTPGetTar(
nil, "https://github.com/plougher/squashfs-tools/releases/"+
"download/"+version+"/squashfs-tools-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), false,
), &MakeAttr{
Writable: true,
SkipConfigure: true,
InPlace: true,
Env: []string{
"CONFIG=1",
"XZ_SUPPORT=0",
"LZO_SUPPORT=0",
"LZ4_SUPPORT=0",
"COMP_DEFAULT=zstd",
"USE_PREBUILT_MANPAGES=y",
},
ScriptEarly: "cd /usr/src/squashfs-tools/squashfs-tools",
SkipCheck: true,
ScriptInstall: "make INSTALL_PREFIX=/work/system install",
},
t.Load(Sed),
t.Load(Zstd),
t.Load(Gzip),
t.Load(Zlib),
)
}
func init() { artifactsF[SquashfsTools] = Toolchain.newSquashfsTools }