The GUI frontends landed with README/CLI/operations docs but no packaging coverage. Add a PACKAGING.md section with the command/script/requirement table for both frontends, note why stdlib tkinter is still an optdepend rather than a hard dependency, and record that packaging must not grant the GUIs privileges beyond the operator's own account. Add the matching PKGBUILD optdepends (`tk`, `pyside6`), plus `python-pystray`/`python-pillow` for the tray applet, which were never listed when it shipped. Also add `gui/` to the CLAUDE.md architecture notes and state snapshot. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JX86xeoBJVBb16qHkDf53K
49 lines
3.1 KiB
Bash
49 lines
3.1 KiB
Bash
# Maintainer: Enodia
|
|
pkgname=enodia-sentinel
|
|
pkgver=0.7.0
|
|
pkgrel=1
|
|
pkgdesc="Linux IDS/IPS/EDR agent with integrity, anti-rootkit, forensic evidence, and explicit prevention workflows"
|
|
arch=('any')
|
|
url="https://github.com/Enodia/enodia-sentinel"
|
|
license=('GPL-3.0-or-later')
|
|
depends=('python>=3.11' 'iproute2' 'procps-ng')
|
|
optdepends=('python-bpfcc: eBPF event-driven execve/syscall monitors (catches short-lived processes and memory telemetry)'
|
|
'bpftrace: execve tracing of short-lived processes in snapshots'
|
|
'libnotify: desktop notifications on alert'
|
|
'libarchive: signed-package verification against cached package .MTREE manifests'
|
|
'tk: stdlib tkinter desktop dashboard (enodia-sentinel gui)'
|
|
'pyside6: Qt6 desktop dashboard (enodia-sentinel gui-qt)'
|
|
'python-pystray: desktop tray applet (enodia-sentinel-tray)'
|
|
'python-pillow: desktop tray applet icon rendering')
|
|
backup=('etc/enodia-sentinel.toml')
|
|
source=()
|
|
sha256sums=()
|
|
|
|
package() {
|
|
cd "$startdir/.."
|
|
# Install the stdlib-only package as a directory + launcher under /usr.
|
|
install -d "$pkgdir/usr/lib/enodia-sentinel"
|
|
cp -r enodia_sentinel "$pkgdir/usr/lib/enodia-sentinel/"
|
|
install -Dm755 packaging/enodia-sentinel.wrapper "$pkgdir/usr/bin/enodia-sentinel"
|
|
install -Dm755 src/sentinel-redteam "$pkgdir/usr/bin/sentinel-redteam"
|
|
install -Dm644 systemd/enodia-sentinel.service "$pkgdir/usr/lib/systemd/system/enodia-sentinel.service"
|
|
install -Dm644 systemd/enodia-sentinel-web.service "$pkgdir/usr/lib/systemd/system/enodia-sentinel-web.service"
|
|
install -Dm644 packaging/enodia-sentinel-fim.hook "$pkgdir/usr/share/libalpm/hooks/enodia-sentinel-fim.hook"
|
|
install -Dm644 packaging/enodia-sentinel.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/enodia-sentinel.conf"
|
|
install -Dm644 config/enodia-sentinel.toml "$pkgdir/etc/enodia-sentinel.toml"
|
|
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
|
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
|
|
install -Dm644 docs/INDEX.md "$pkgdir/usr/share/doc/$pkgname/INDEX.md"
|
|
install -Dm644 docs/COMMAND_REFERENCE.md "$pkgdir/usr/share/doc/$pkgname/COMMAND_REFERENCE.md"
|
|
install -Dm644 docs/SCHEMAS.md "$pkgdir/usr/share/doc/$pkgname/SCHEMAS.md"
|
|
install -Dm644 docs/PACKAGING.md "$pkgdir/usr/share/doc/$pkgname/PACKAGING.md"
|
|
install -Dm644 docs/OPERATIONS.md "$pkgdir/usr/share/doc/$pkgname/OPERATIONS.md"
|
|
install -Dm644 docs/RUNBOOKS.md "$pkgdir/usr/share/doc/$pkgname/RUNBOOKS.md"
|
|
install -Dm644 docs/RULES.md "$pkgdir/usr/share/doc/$pkgname/RULES.md"
|
|
install -Dm644 docs/SPECIFICATION.md "$pkgdir/usr/share/doc/$pkgname/SPECIFICATION.md"
|
|
install -Dm644 docs/ROADMAP.md "$pkgdir/usr/share/doc/$pkgname/ROADMAP.md"
|
|
install -Dm644 docs/THREAT_MODEL.md "$pkgdir/usr/share/doc/$pkgname/THREAT_MODEL.md"
|
|
install -Dm644 docs/VERSION.json "$pkgdir/usr/share/doc/$pkgname/VERSION.json"
|
|
install -Dm644 systemd/enodia-sentinel-ebpf.conf "$pkgdir/usr/share/doc/$pkgname/examples/enodia-sentinel-ebpf.conf"
|
|
install -dm750 "$pkgdir/var/log/enodia-sentinel"
|
|
}
|