pkgname=overseer-git
pkgver=r1.1234567
pkgrel=1
pkgdesc="Self-hosted family information system (inventory, OIDC, htmx UI)."
arch=('x86_64')
url="https://git.xeno.darksair.org/overseer"
license=('unknown')
depends=('gcc-libs' 'glibc' 'openssl' 'sqlite' 'curl' 'zlib'
'imagemagick' 'systemd-libs')
makedepends=('cmake' 'git' 'pkgconf')
backup=('etc/overseer.yaml')
source=("git+$url.git"
"overseer.service"
"overseer.sysusers"
"overseer.tmpfiles"
"overseer.yaml")
sha256sums=('SKIP'
'08a501151e6d5369b057bf1626b8893805b717fcb22334a55e7c55f8d0fbaa4b'
'25b75a75c4f94c6fc1aa20e8438786a8cf851a19cc09cbaa4ac64585cccb8451'
'30f29d472e84c1238b717286af44b1d1ac1cf48c9a4cbd2533dac321a65256b7'
'526b06d931f8a76d9bafd42482924e754f60aab2fa6b454a678f08ad96bb4df5')
pkgver() {
cd "overseer"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cmake -B build -S "overseer" \
-DCMAKE_BUILD_TYPE=Release \
-DOVERSEER_BUILD_TEST=OFF
cmake --build build -j "$(nproc)"
}
package() {
install -Dm755 build/overseer "$pkgdir/usr/bin/overseer"
install -Dm644 overseer.service "$pkgdir/usr/lib/systemd/system/overseer.service"
install -Dm644 overseer.sysusers "$pkgdir/usr/lib/sysusers.d/overseer.conf"
install -Dm644 overseer.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/overseer.conf"
install -Dm640 overseer.yaml "$pkgdir/etc/overseer.yaml"
cd "overseer"
# Templates: <template-dir>/inventory/templates/*.inja — the service
# passes --template-dir=/usr/share/overseer/modules so the layout
# mirrors the source tree.
install -d "$pkgdir/usr/share/overseer"
cp -r src/overseer/modules "$pkgdir/usr/share/overseer/modules"
cp -r src/static "$pkgdir/usr/share/overseer/static"
# Strip non-template sources that landed under modules/ (we only need
# the .inja files at runtime).
find "$pkgdir/usr/share/overseer/modules" \
-type f ! -name '*.inja' -delete
find "$pkgdir/usr/share/overseer/modules" -type d -empty -delete
}