pkgname=overseer-git
pkgver=r1.1234567
pkgrel=1
pkgdesc="Self-hosted family information system (inventory, OIDC, htmx UI)."
arch=('x86_64')
url="https://github.com/MetroWind/home-info"
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'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
pkgver() {
cd "home-info"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cmake -B build -S "home-info" \
-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 "home-info"
# 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
}