Files
hakurei/internal/rosa/util-linux.go
Ophestra 58801b44d4
All checks were successful
Test / Create distribution (push) Successful in 1m1s
Test / Sandbox (push) Successful in 2m40s
Test / Hakurei (push) Successful in 3m51s
Test / ShareFS (push) Successful in 4m2s
Test / Hpkg (push) Successful in 4m35s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 6m12s
Test / Flake checks (push) Successful in 1m34s
internal/rosa: util-linux artifact
This stuff will likely be implemented natively in the final system. For now, it is useful for debugging.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-02-18 14:21:59 +09:00

50 lines
1.1 KiB
Go

package rosa
import (
"strings"
"hakurei.app/internal/pkg"
)
func (t Toolchain) newUtilLinux() pkg.Artifact {
const (
version = "2.41.3"
checksum = "gPTd5JJ2ho_Rd0qainuogcLiiWwKSXEZPXN3yCCRl0m0KBgMaqwFuMjYgu9z8zCH"
)
return t.NewViaMake("util-linux", version, pkg.NewHTTPGetTar(
nil, "https://www.kernel.org/pub/linux/utils/util-linux/"+
"v"+strings.Join(strings.SplitN(version, ".", 3)[:2], ".")+
"/util-linux-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), &MakeAttr{
ScriptEarly: `
ln -s ../system/bin/bash /bin/
`,
Configure: [][2]string{
{"disable-use-tty-group"},
{"disable-makeinstall-setuid"},
{"disable-makeinstall-chown"},
{"enable-fs-paths-default", "" +
"/system/sbin:" +
"/system/sbin/fs.d:" +
"/system/sbin/fs"},
{"disable-su"},
{"disable-liblastlog2"},
{"disable-pam-lastlog2"},
},
// check script claims:
// For development purpose only.
// Don't execute on production system!
SkipCheck: true,
},
t.Load(Bash),
t.Load(KernelHeaders),
)
}
func init() { artifactsF[UtilLinux] = Toolchain.newUtilLinux }