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