aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-19 00:58:34 +0900
committerOphestra <cat@gensokyo.uk>2026-01-19 00:58:34 +0900
commit52c959bd6af3a59bdafc67ffb19d8f90454449bd (patch)
tree81406f9866b567052018956f91d03509b705059b /internal/rosa
parentd258dea0bf999f9123c891b7a35e3e74f5dc7bd8 (diff)
internal/rosa: minimal rsync artifact
For installing kernel headers. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa')
-rw-r--r--internal/rosa/rsync.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/internal/rosa/rsync.go b/internal/rosa/rsync.go
new file mode 100644
index 00000000..6f5f34bc
--- /dev/null
+++ b/internal/rosa/rsync.go
@@ -0,0 +1,29 @@
+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,
+ )))
+}