45 lines
1.5 KiB
Bash
45 lines
1.5 KiB
Bash
# Maintainer: luna <anassaeneroi@pm.me>
|
|
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."
|
|
}
|