freeze-watcher/packaging/PKGBUILD

45 lines
1.5 KiB
Bash

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