# Maintainer: luna pkgname=freeze-watcher pkgver=0.4.0 pkgrel=1 pkgdesc="Continuously samples system state and snapshots detailed diagnostics when freeze conditions are detected" arch=('any') url="https://github.com/luna/freeze-watcher" license=('MIT') depends=('bash' 'systemd' 'python' 'pyside6' 'sysstat' 'procps-ng' 'util-linux' 'libnotify' 'sudo') optdepends=( 'xdg-utils: open log directory from GUI' 'bpftrace: kernel stack sampling during capture (CAPTURE_BPFTRACE=1)' ) source=("$pkgname-$pkgver.tar.gz::file://$PWD/../$pkgname-$pkgver.tar.gz") sha256sums=('SKIP') backup=( 'etc/systemd/system/freeze-watcher.service' 'etc/freeze-watcher.conf' ) package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" PREFIX=/usr install } post_install() { echo "==> Run 'sudo systemctl enable --now freeze-watcher.service' to start" echo "==> Snapshots will be written to /var/log/freeze-watcher/" echo "==> Launch the GUI from your app menu (Freeze Watcher) or 'freeze-monitor-gui'" } post_upgrade() { systemctl daemon-reload if systemctl is-active --quiet freeze-watcher.service; then echo "==> Restart the service to pick up changes:" echo " sudo systemctl restart freeze-watcher.service" fi } post_remove() { if systemctl is-enabled --quiet freeze-watcher.service 2>/dev/null; then systemctl disable --now freeze-watcher.service fi echo "==> Logs at /var/log/freeze-watcher/ preserved. Remove manually if desired." }