feat: add Arch Linux package (PKGBUILD, systemd service, sysusers)

- PKGBUILD for building the package
- Systemd service with CAP_NET_BIND_SERVICE for port 53
- sysusers.d config to create doh-forwarder system user
- Default config at /etc/doh-forwarder/config.toml
This commit is contained in:
2026-07-06 18:46:47 +03:30
parent 65acc836d0
commit 4c62b1436a
4 changed files with 92 additions and 0 deletions

46
pkg/arch/PKGBUILD Normal file
View File

@@ -0,0 +1,46 @@
# Maintainer: Mohammadreza Khani <mohamadreza.khani@proton.me>
pkgname=doh-forwarder
pkgver=0.1.0
pkgrel=1
pkgdesc="A lightweight DNS-over-HTTPS forwarder"
arch=('x86_64')
url="https://gitea.logi.camp/LogiCrew/doh-forwarder"
license=('MIT')
depends=('gcc-libs')
makedepends=('rust' 'cargo')
backup=('etc/doh-forwarder/config.toml')
source=("$pkgname-$pkgver.tar.gz::https://git.logicamp.dev/LogiCrew/doh-forwarder/archive/v${pkgver}.tar.gz"
'doh-forwarder.service'
'doh-forwarder.sysusers'
'doh-forwarder.conf')
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP')
build() {
cd "$pkgname"
cargo build --release --locked
}
check() {
cd "$pkgname"
cargo test --release --locked
}
package() {
cd "$pkgname"
# Binary
install -Dm755 "target/release/doh-forwarder" "$pkgdir/usr/bin/doh-forwarder"
# Config
install -Dm644 "$srcdir/doh-forwarder.conf" "$pkgdir/etc/doh-forwarder/config.toml"
# Systemd
install -Dm644 "$srcdir/doh-forwarder.service" "$pkgdir/usr/lib/systemd/system/doh-forwarder.service"
install -Dm644 "$srcdir/doh-forwarder.sysusers" "$pkgdir/usr/lib/sysusers.d/doh-forwarder.conf"
# License
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}