ramsleuth-intel-dkms
LOW
maintainer MadGoat
0 votes
scanned 2026-09-24 07:42:22.111601
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-intel-dkms — an optional provisioning extra for RamSleuth's live
4
# Intel IMC subtimings (the ramsleuth_intel kernel module). NOT a hard
5
# dependency: without it RamSleuth degrades gracefully (Intel section reads
6
# N/A (DriverMissing), exit 0, no panic; the /dev/mem fallback remains
7
# available where unblocked).
8
#
9
# Design — thin provisioning package mirroring ryzen-smu-dkms: package()
10
# installs (1) the DKMS configuration (kernel/ramsleuth-intel/dkms.conf, to
11
# /usr/share/ramsleuth-intel-dkms/dkms.conf), (2) the operator-run install
12
# helper (scripts/install-intel-dkms.sh, as /usr/bin/ramsleuth-intel-dkms-install
13
# — the D-18.4-style name distinct from ramsleuth's /usr/bin/ramsleuth-install-
14
# intel-dkms, so the packages coexist without a pacman file conflict), (3) the
15
# in-repo module source tree (kernel/ramsleuth-intel/) verbatim to
16
# /usr/share/ramsleuth-intel-dkms/src/ — the exact installed path the
17
# INTEL-06 helper resolves (no network, no upstream pin: the module lives in
18
# this repo, unlike the AMD vendored ryzen_smu), and (4) a short README.
19
#
20
# SOURCE — the branch-pinned RamSleuth repo (sibling pattern, like the AMD
21
# extra): pkgver is the FIXED ramsleuth workspace version (2.4.0 today;
22
# bumped with the INTEL-20 release). The git source CANNOT be tag-pinned
23
# here: the v2.2.1 tag (c82a9ad) predates the kernel/ramsleuth-intel/ merge
24
# (v2-development), so only the development branch carries the module.
25
#
26
# SAFETY: no kernel-module build in the build chroot — a `dkms
27
# build`/`dkms install` there would fail (no matching kernel headers) and be
28
# wrong (it builds against the chroot kernel, not the target's). The actual
29
# dkms add/build/install runs on the TARGET via the bundled helper:
30
#
31
# sudo ramsleuth-intel-dkms-install
32
#
33
# AUTOINSTALL=yes in the bundled dkms.conf: DKMS auto-rebuilds the module on
34
# kernel updates. The ramsleuth systemd unit never loads the module.
35
#
36
# Intel-only by design: on a non-Intel host the module builds fine, modprobe
37
# leaves it idle (no kobject), and the helper exits 0 with a clear note.
38
#
39
# License: the package content is the GPL-2.0 module source (SPDX
40
# GPL-2.0 — a separate work from the MIT RamSleuth code, built only by DKMS
41
# on the target) + the MIT helper; license= lists GPL-2.0-only per the
42
# INTEL-07 spec. `git` is NOT a package dep: the source resolves from the
43
# installed /usr/share copy (no clone on the target path).
44
45
pkgname=ramsleuth-intel-dkms
46
pkgver=2.4.0 # FIXED — the ramsleuth workspace version (no pkgver())
47
pkgrel=1
48
pkgdesc="Provisioning tools for the optional ramsleuth_intel DKMS module (RamSleuth live Intel IMC subtimings)"
49
arch=(x86_64)
50
url="https://github.com/MadGoatHaz/RamSleuth"
51
license=(GPL-2.0-only)
52
# Only dkms (same as the AMD extra): the matching kernel build tree is the
53
# TARGET's concern — the helper verifies /lib/modules/$(uname -r)/build and
54
# stops with candidate packages when it is missing (never guessed here).
55
depends=(dkms)
56
makedepends=()
57
58
# The installed files come from the RamSleuth repo tree (INTEL-05 module,
59
# INTEL-06 helper). The "$pkgname"-style rename extracts to $srcdir/ramsleuth
60
# (sibling pattern, like the AMD extra).
61
source=("ramsleuth::git+https://github.com/MadGoatHaz/RamSleuth.git#branch=v2-development")
62
63
package() {
64
# 1) DKMS config (sourced by DKMS on the target; not at build time).
65
# Carries PACKAGE_VERSION="@VERSION@"; the helper seds it to the
66
# workspace version before `dkms add` (AMD pattern).
67
install -Dm644 "$srcdir/ramsleuth/kernel/ramsleuth-intel/dkms.conf" \
68
"$pkgdir/usr/share/ramsleuth-intel-dkms/dkms.conf"
69
70
# 2) Operator-run helper: verifies kernel headers, resolves the source
71
# (the in-repo tree first, this installed copy second), builds+installs
72
# the module on the TARGET kernel (sudo), vendor-aware non-Intel-safe.
73
install -Dm755 "$srcdir/ramsleuth/scripts/install-intel-dkms.sh" \
74
"$pkgdir/usr/bin/ramsleuth-intel-dkms-install"
75
76
# 3) The in-repo module source tree (GPL-2.0, verbatim — the four files
77
# the helper stages into /usr/src/ramsleuth_intel-<version>/:
78
# dkms.conf, Makefile, ramsleuth_intel.c, README.md) ->
79
# /usr/share/ramsleuth-intel-dkms/src/ (the exact path the helper's
80
# installed-copy resolution checks).
81
local f
82
for f in dkms.conf Makefile ramsleuth_intel.c README.md; do
83
install -Dm644 "$srcdir/ramsleuth/kernel/ramsleuth-intel/$f" \
84
"$pkgdir/usr/share/ramsleuth-intel-dkms/src/$f"
85
done
86
87
# 4) Short README.
88
install -Dm644 /dev/null "$pkgdir/usr/share/doc/ramsleuth-intel-dkms/README.txt"
89
cat >> "$pkgdir/usr/share/doc/ramsleuth-intel-dkms/README.txt" <<'EOF'
90
ramsleuth-intel-dkms (optional RamSleuth extra)
91
================================================
92
93
OPTIONAL recommended extra for live Intel IMC subtimings. Without it,
94
RamSleuth works: the Intel section reads "N/A (DriverMissing)", exit 0,
95
no panic (the /dev/mem fallback remains available where unblocked).
96
97
Build and install the module for this system's current kernel:
98
99
sudo ramsleuth-intel-dkms-install
100
101
(the helper verifies the matching kernel headers; if missing it lists
102
candidate packages and stops — it does not guess).
103
104
The module source is the in-repo kernel/ramsleuth-intel/ tree (GPL-2.0 —
105
a separate work from the MIT RamSleuth code, built only by DKMS on the
106
target). No network, no upstream pin: this package ships it verbatim.
107
108
Thin provisioning package: the module is never built in the AUR build
109
chroot (wrong kernel, no matching headers) — all dkms add/build/install
110
work happens on the target, via the helper.
111
112
Intel-only: on a non-Intel host the module builds fine but the load
113
leaves it idle (no kobject); the helper exits 0 with a clear note and
114
the app uses the /dev/mem fallback.
115
116
AUTOINSTALL=yes in the bundled dkms.conf auto-rebuilds the module on
117
kernel updates. The ramsleuth systemd unit never loads the module.
118
EOF
119
}
120
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-24 07:42:22 | Low | 1 |
| 2026-09-24 05:42:19 | Low | 1 |