From d5666c31b7e4d952e032deaae4b9bfdb967ff0ee Mon Sep 17 00:00:00 2001
From: kpcyrd <git@rxv.cc>
Date: Sun, 26 Sep 2021 18:22:06 +0200
Subject: [PATCH] testing/rebuilderd: new aport

---
 testing/rebuilderd/APKBUILD             | 111 ++++++++++++++++++++++++
 testing/rebuilderd/rebuilderd-sync.cron |   8 ++
 testing/rebuilderd/rebuilderd.confd     |   6 ++
 testing/rebuilderd/rebuilderd.initd     |  20 +++++
 4 files changed, 145 insertions(+)
 create mode 100644 testing/rebuilderd/APKBUILD
 create mode 100644 testing/rebuilderd/rebuilderd-sync.cron
 create mode 100644 testing/rebuilderd/rebuilderd.confd
 create mode 100644 testing/rebuilderd/rebuilderd.initd

diff --git a/testing/rebuilderd/APKBUILD b/testing/rebuilderd/APKBUILD
new file mode 100644
index 000000000000..920e917e9e84
--- /dev/null
+++ b/testing/rebuilderd/APKBUILD
@@ -0,0 +1,111 @@
+# Contributor: kpcyrd <git@rxv.cc>
+# Maintainer: kpcyrd <git@rxv.cc>
+pkgname=rebuilderd
+pkgver=0.14.2
+pkgrel=0
+pkgdesc="Independent verification system of binary packages"
+pkgusers="rebuilderd"
+pkggroups="rebuilderd"
+url='https://github.com/kpcyrd/rebuilderd'
+arch="all !mips64 !s390x !ppc64le !riscv64"
+license="GPL-3.0-or-later"
+depends="
+	$pkgname-tools
+	shared-mime-info
+	"
+makedepends="
+	cargo
+	openssl-dev
+	sqlite-dev
+	xz-dev
+	zstd-dev
+	scdoc
+	"
+subpackages="
+	$pkgname-doc
+	$pkgname-openrc
+	$pkgname-tools
+	"
+source="
+	$pkgname-$pkgver.tar.gz::https://github.com/kpcyrd/rebuilderd/archive/v$pkgver.tar.gz
+	rebuilderd.initd
+	rebuilderd.confd
+	rebuilderd-sync.cron
+	"
+
+prepare() {
+	default_prepare
+
+	cargo fetch --locked
+}
+
+build() {
+	cargo build --release --frozen
+
+	mkdir -p completions
+	target/release/rebuildctl completions bash > completions/rebuildctl.bash
+	target/release/rebuildctl completions zsh > completions/_rebuildctl
+	target/release/rebuildctl completions fish > completions/rebuildctl.fish
+
+	make docs
+}
+
+check() {
+	cargo test --release --frozen
+}
+
+package() {
+	install -Dm755 \
+		"$builddir/target/release/rebuilderd" \
+		"$builddir/target/release/rebuilderd-worker" \
+		-t "$pkgdir/usr/bin"
+
+	# install rebuilder scripts
+	install -Dm 755 -t "$pkgdir/usr/libexec/rebuilderd" \
+		worker/rebuilder-*.sh
+
+	# install config files
+	install -Dm 644 -t "$pkgdir/etc" \
+		contrib/confs/rebuilderd-sync.conf
+	install -Dm 640 -g rebuilderd -t "$pkgdir/etc" \
+		contrib/confs/rebuilderd-worker.conf \
+		contrib/confs/rebuilderd.conf
+
+	# init scripts
+	install -Dm755 "$srcdir/$pkgname.initd" \
+		"$pkgdir/etc/init.d/$pkgname"
+	install -Dm644 "$srcdir/$pkgname.confd" \
+		"$pkgdir/etc/conf.d/$pkgname"
+	install -Dm755 "$srcdir/rebuilderd-sync.cron" \
+		"$pkgdir"/etc/periodic/hourly/rebuilderd-sync
+
+	# install docs
+	install -Dm 644 -t "$pkgdir/usr/share/doc/rebuilderd" README.md
+	install -Dm 644 -t "$pkgdir/usr/share/man/man1" \
+		contrib/docs/rebuilderd.1 \
+		contrib/docs/rebuildctl.1 \
+		contrib/docs/rebuilderd-worker.1
+	install -Dm 644 -t "$pkgdir/usr/share/man/man5" \
+		contrib/docs/rebuilderd.conf.5 \
+		contrib/docs/rebuilderd-sync.conf.5 \
+		contrib/docs/rebuilderd-worker.conf.5
+}
+
+tools() {
+	pkgdesc="$pkgdesc (tools)"
+	install -Dm755 "$builddir/target/release/rebuildctl" -t "$subpkgdir/usr/bin"
+
+	install -Dm644 "$builddir/completions/rebuildctl.bash" \
+		"$subpkgdir/usr/share/bash-completion/completions/rebuildctl"
+	install -Dm644 "$builddir/completions/_rebuildctl" \
+		"$subpkgdir/usr/share/zsh/site-functions/_rebuildctl"
+	install -Dm644 "$builddir/completions/rebuildctl.fish" \
+		"$subpkgdir/usr/share/fish/completions/rebuildctl.fish"
+}
+
+sha512sums="
+190c9e4ee7043e886e10e1287daf4009fb61008f09b9cb3b4816755c3a3a890a9da595a01a3aee8f69f42ad5fc95498f9e1f78c74671ffe50ed3aa6bc5db4d8d  rebuilderd-0.14.2.tar.gz
+14e9ff1526daaa3857c59ab92a60f5d9768851295db18d53a49c6aa122764fddaf659da342743cf1cf61b6c23b8387fd78f47ea657fbdb1936d37d9a8497aea2  rebuilderd.initd
+958119b17dcb477491694b0975b14691bf143ab19bc0079aebc55838861f95624060abf68409455267d824aaea8b7910ffd7762c3bf7077f001f40610a303ba9  rebuilderd.confd
+85b02c4f0dfef17e55989ec34daf5dbe2027c781781db3e72b4f952ab2eae3043929d346ba37b1288bd8473d9fc29a2d19c1ddde26adc65190dd2fba73a02689  rebuilderd-sync.cron
+"
diff --git a/testing/rebuilderd/rebuilderd-sync.cron b/testing/rebuilderd/rebuilderd-sync.cron
new file mode 100644
index 000000000000..22722ff7f1cc
--- /dev/null
+++ b/testing/rebuilderd/rebuilderd-sync.cron
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+. /etc/conf.d/rebuilderd
+
+for profile in $sync_profiles; do
+	echo "Syncing $profile"
+	rebuildctl pkgs sync-profile "$profile"
+done
diff --git a/testing/rebuilderd/rebuilderd.confd b/testing/rebuilderd/rebuilderd.confd
new file mode 100644
index 000000000000..c9b0a0e66bdd
--- /dev/null
+++ b/testing/rebuilderd/rebuilderd.confd
@@ -0,0 +1,6 @@
+# rebuilderd cronjob config file
+
+## The list of profiles that should be synced when the cronjob is run
+## The profiles are configured in /etc/rebuilderd.conf
+#sync_profiles="archlinux-core archlinux-extra archlinux-community"
+sync_profiles=""
diff --git a/testing/rebuilderd/rebuilderd.initd b/testing/rebuilderd/rebuilderd.initd
new file mode 100644
index 000000000000..b2245a8bbf9a
--- /dev/null
+++ b/testing/rebuilderd/rebuilderd.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+
+command="/usr/bin/rebuilderd"
+command_args="-c /etc/rebuilderd.conf"
+command_background="yes"
+command_user="rebuilderd"
+directory="/var/lib/rebuilderd"
+pidfile="/run/rebuilderd.pid"
+
+export REBUILDERD_COOKIE_PATH=/var/lib/rebuilderd/auth-cookie
+
+start_pre() {
+	checkpath --directory --owner rebuilderd:rebuilderd --mode 0770 \
+		"$directory"
+}
+
+depend() {
+	need net
+	after firewall
+}
-- 
GitLab