ramsleuth
LOW
maintainer MadGoat
0 votes
scanned 2026-09-20 03:32:05.979727
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: MadGoatHaz
2
#
3
# RamSleuth v2 — STABLE source AUR package (ramsleuth):
4
# `yay -S ramsleuth` / `makepkg -si` from packaging/ramsleuth/ is the
5
# community install path. It builds from the OFFICIAL TAGGED source
6
# (the git tag v$pkgver) — NOT the moving branch — so a release is a
7
# reproducible, auditable snapshot. This is the counterpart to
8
# ramsleuth-git (the bleeding-edge, branch-tracking dev package).
9
#
10
# Why a git-tag source (no release tarball, no sha256sums):
11
# The AUR community package must build from source that EXISTS at
12
# publish time. A release tarball only comes into existence AFTER the
13
# tag is cut (chicken-and-egg). A git-tag source sidesteps this: the
14
# tag is the source-of-truth pointer, makepkg clones the repo and
15
# checks out that exact tag, and no sha256sums line is needed (git
16
# sources are content-addressed by the tag, not checksummed). When the
17
# next release is cut, only pkgver changes here.
18
#
19
# The "$pkgname::" prefix renames the cloned source dir to $srcdir/ramsleuth
20
# (the pkgname) — NOT the release-tarball layout RamSleuth-$pkgver. So
21
# build()/package() cd into "$srcdir/ramsleuth".
22
#
23
# Ships (identical surface to ramsleuth-git):
24
# - 6 binaries -> /usr/bin: ramsleuth-daemon (the daemon-unit ExecStart),
25
# ramsleuth-client, ramsleuth-tui, ramsleuth, ramsleuth-bench,
26
# ramsleuth-telemetry (ramsleuth-protocol is lib-only — never installed)
27
# - the frozen daemon unit systemd/ramsleuth.service -> /usr/lib/systemd/system/
28
# (verbatim copy, never modified)
29
# - the systemd preset -> /usr/lib/systemd/system-preset/ramsleuth.preset
30
# (enables ramsleuth.service by default)
31
# - the system group `ramsleuth` — THE ONE REAL INSTALL GAP: Group=ramsleuth
32
# on the daemon unit fails to start without it (created by the .install hooks, idempotent)
33
# - the shared pinned ryzen_smu DKMS helper -> /usr/bin/ramsleuth-install-ryzen-smu-dkms
34
# - install.sh -> /usr/share/ramsleuth/install.sh (the self-contained transparency
35
# artifact — AUR users can re-run/audit the full flow post-install)
36
# - LICENSE -> /usr/share/licenses/ramsleuth/LICENSE (MIT compliance, AUR requirement)
37
#
38
# No-panic contract: installation never fails on the absence of
39
# the ryzen_smu module, AVX-512, or a display; after a bare install the
40
# daemon starts and serves N/A (DriverMissing) sections with exit 0.
41
#
42
# The C toolchain (cc/linker for the Rust build) comes from the makepkg
43
# base environment — AUR convention: base toolchain packages are not
44
# listed in makedepends. libxkbcommon is the only strict build-time link
45
# dep (xkbcommon-sys); the X11/Wayland/GL entries cover pkgconf probes
46
# plus the eframe 0.27 / winit dlopen + fallback runtime surface.
47
48
pkgname=ramsleuth
49
pkgver=2.1.0 # FIXED — taken from the git tag v$pkgver (no pkgver() — that belongs to ramsleuth-git)
50
pkgrel=1
51
pkgdesc="Pure-Rust RAM latency/bandwidth telemetry: privileged daemon + unprivileged CLI/TUI/GUI clients"
52
arch=(x86_64)
53
url="https://github.com/MadGoatHaz/RamSleuth"
54
license=(MIT)
55
# git-tag source: makepkg clones the repo and checks out the tag v$pkgver.
56
# The "$pkgname::" rename extracts to $srcdir/ramsleuth (see header note above).
57
source=("$pkgname::git+https://github.com/MadGoatHaz/RamSleuth.git#tag=v$pkgver")
58
install=ramsleuth.install
59
conflicts=('ramsleuth-bin')
60
makedepends=(rust cargo pkgconf libx11 libxkbcommon wayland wayland-protocols libxrandr libxi libxcursor libxinerama mesa)
61
depends=(libx11 libxkbcommon wayland libxrandr libxi libxcursor libxinerama mesa)
62
63
# No sha256sums: git-tag source, content-addressed by the tag (not checksummed).
64
65
build() {
66
cd "$srcdir/ramsleuth"
67
# --locked: build the committed pins verbatim (reproducible).
68
cargo build --release --locked
69
}
70
71
package() {
72
cd "$srcdir/ramsleuth"
73
74
# (1) the 6 installable binaries
75
for bin in ramsleuth-daemon ramsleuth-client ramsleuth-tui \
76
ramsleuth ramsleuth-bench ramsleuth-telemetry; do
77
install -Dm755 "target/release/$bin" "$pkgdir/usr/bin/$bin"
78
done
79
80
# (2) the frozen daemon unit — verbatim copy
81
install -Dm644 "systemd/ramsleuth.service" \
82
"$pkgdir/usr/lib/systemd/system/ramsleuth.service"
83
84
# (3) the systemd preset — enables ramsleuth.service by default
85
# (the single package-agnostic preset in the repo, shipped verbatim)
86
install -Dm644 "packaging/ramsleuth-git/ramsleuth.preset" \
87
"$pkgdir/usr/lib/systemd/system-preset/ramsleuth.preset"
88
89
# (4) the ramsleuth-owned copy of the pinned ryzen_smu DKMS helper
90
install -Dm755 "scripts/install-ryzen-smu-dkms.sh" \
91
"$pkgdir/usr/bin/ramsleuth-install-ryzen-smu-dkms"
92
93
# (5) the self-contained entrypoint — shipped for audit/re-run
94
install -Dm755 "install.sh" "$pkgdir/usr/share/ramsleuth/install.sh"
95
96
# (6) the MIT license — the AUR license-compliance install path
97
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/ramsleuth/LICENSE"
98
99
# NOTE: the ramsleuth group is created on the TARGET system by the .install
100
# pre_install/pre_upgrade hooks (package() runs in the build env, not the target).
101
}
102
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-20 03:32:05 | Low | 1 |