# Maintainer: luna <anassaeneroi@pm.me>
pkgname=freeze-watcher
pkgver=0.3.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."
}
