Files
hakurei/internal/rosa/rsync.go
Ophestra 52c959bd6a
All checks were successful
Test / Create distribution (push) Successful in 33s
Test / Sandbox (push) Successful in 1m57s
Test / ShareFS (push) Successful in 3m51s
Test / Hpkg (push) Successful in 4m49s
Test / Hakurei (push) Successful in 5m22s
Test / Sandbox (race detector) (push) Successful in 5m39s
Test / Hakurei (race detector) (push) Successful in 7m59s
Test / Flake checks (push) Successful in 1m55s
internal/rosa: minimal rsync artifact
For installing kernel headers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-19 00:58:34 +09:00

30 lines
758 B
Go

package rosa
import "hakurei.app/internal/pkg"
// NewRsync returns a [pkg.Artifact] containing an installation of rsync.
func (t Toolchain) NewRsync() pkg.Artifact {
const (
version = "3.4.1"
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
)
return t.New("rsync-"+version, []pkg.Artifact{
t.NewMake(),
}, nil, nil, `
cd "$(mktemp -d)"
/usr/src/rsync/configure --prefix=/system \
--build="${ROSA_TRIPLE}" \
--disable-openssl \
--disable-xxhash \
--disable-zstd \
--disable-lz4
make "-j${nproc}"
make DESTDIR=/work install
`, pkg.Path(AbsUsrSrc.Append("rsync"), false, pkg.NewHTTPGetTar(
nil,
"https://download.samba.org/pub/rsync/src/rsync-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
)))
}