ryzen-smu-dkms
LOW
maintainer MadGoat
0 votes
scanned 2026-09-26 07:14:17.811062
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
# ryzen-smu-dkms — an optional provisioning extra for RamSleuth's live
4
# AMD SMU subtimings (the ryzen_smu kernel module). NOT a hard
5
# dependency: without it RamSleuth degrades gracefully (AMD section
6
# reads N/A (DriverMissing), exit 0, no panic).
7
#
8
# Design — thin provisioning package: package() installs (1) the DKMS
9
# configuration (packaging/ryzen-smu-dkms/dkms.conf), (2) the
10
# operator-run install helper (scripts/install-ryzen-smu-dkms.sh, as
11
# /usr/bin/ryzen-smu-dkms-install — the D-18.4 name distinct from
12
# ramsleuth's /usr/bin/ramsleuth-install-ryzen-smu-dkms; the name
13
# distinctness avoids a file conflict on that ONE binary only — the
14
# packages as a whole cannot coinstall, see the conflict note below),
15
# (3) the VENDED
16
# pinned ryzen_smu source (packaging/ryzen-smu-dkms/vendor/: the 6
17
# files frozen at upstream commit d298366 + SUMS.sha256 + NOTICE.md)
18
# to /usr/share/ryzen-smu-dkms/vendor/ — the exact installed path the
19
# C21-08 helper resolves (the offline build path, zero network), and
20
# (4) a short README.
21
#
22
# SAFETY: no kernel-module build in the build chroot — a `dkms
23
# build`/`dkms install` there would fail (no matching custom-kernel
24
# headers, e.g. 7.2.3-1-cachyos-custom) and be wrong (it builds
25
# against the chroot kernel, not the target's). The actual dkms
26
# build/install runs on the TARGET via the bundled helper:
27
#
28
# sudo ryzen-smu-dkms-install
29
#
30
# AUTOINSTALL=yes in the bundled dkms.conf: DKMS auto-rebuilds the
31
# module on kernel updates. The ramsleuth systemd unit never loads the
32
# module. source: the RamSleuth repo (sibling of ramsleuth).
33
#
34
# Mutual conflict: the main packages (ramsleuth, ramsleuth-bin) now
35
# BUNDLE this same vendored source to /usr/share/ryzen-smu-dkms/vendor/
36
# (their package() step 13 — the in-app offline one-click needs no
37
# separate extra), so the vendor tree is shared file surface and this
38
# extra cannot coinstall with either: conflicts=('ramsleuth'
39
# 'ramsleuth-bin'), mutual (the main packages list this package too).
40
#
41
# License: the package content is the MIT helper + the GPL-2.0 vendored
42
# module source (a separate work — vendor/NOTICE.md); license= lists
43
# both. `git` is NOT a package dep: the vendored path needs no clone;
44
# the helper's pinned git-clone fetch remains only as the manual
45
# fallback (RYZEN_SMU_FORCE_REMOTE=1).
46
47
pkgname=ryzen-smu-dkms
48
pkgver=1.0
49
pkgrel=2
50
pkgdesc="Provisioning tools for the optional ryzen_smu DKMS module (RamSleuth live AMD subtimings)"
51
arch=(x86_64)
52
url="https://github.com/MadGoatHaz/RamSleuth"
53
license=(MIT GPL-2.0-only)
54
depends=(dkms)
55
makedepends=()
56
# The main packages bundle the same vendored source to
57
# /usr/share/ryzen-smu-dkms/vendor/ (their package() step 13 — the in-app
58
# offline one-click needs no separate extra), so this extra cannot
59
# coinstall with either; the conflict is mutual (the main packages list
60
# this package too).
61
conflicts=('ramsleuth' 'ramsleuth-bin')
62
63
# The installed files come from the RamSleuth repo tree (P5-03 dkms.conf, P5-04 helper,
64
# C21-07 vendor/).
65
# Integrity pin: the v2.4.6 release commit (immutable; current makepkg
66
# requires VCS sources to resolve to a commit — the #tag= fragment in
67
# source= is a human-readable label only). The package keeps its own 1.0
68
# pkgver (not the ramsleuth workspace version), so the tag is literal, not
69
# v$pkgver; bump the pin (and the literal tag) with each ramsleuth release
70
# wave. Before this first AUR submission the source tracked the moving
71
# v2-development branch (the pre-v2.4.5 integrity-gap class, closed for the
72
# siblings in the v2.4.5 re-cut).
73
_gitcommit=445acada45c385d8f777021e7dc1758ad5ec5695
74
source=("ramsleuth::git+https://github.com/MadGoatHaz/RamSleuth.git#tag=v2.4.6")
75
76
package() {
77
# 1) DKMS config (sourced by DKMS on the target; not at build time).
78
install -Dm644 "$srcdir/ramsleuth/packaging/ryzen-smu-dkms/dkms.conf" \
79
"$pkgdir/usr/share/ryzen-smu-dkms/dkms.conf"
80
81
# 2) Operator-run helper: verifies kernel headers, resolves the
82
# source (the vendored tree first, the pinned git clone as
83
# fallback), builds+installs the module on the TARGET kernel
84
# (sudo).
85
install -Dm755 "$srcdir/ramsleuth/scripts/install-ryzen-smu-dkms.sh" \
86
"$pkgdir/usr/bin/ryzen-smu-dkms-install"
87
88
# 3) The vendored pinned ryzen_smu source (C21-07 — frozen,
89
# byte-identical to upstream at d298366; GPL-2.0 separate work,
90
# see vendor/NOTICE.md) -> /usr/share/ryzen-smu-dkms/vendor/
91
# (the exact path the C21-08 helper verifies with SUMS.sha256
92
# before any build).
93
local v
94
for v in LICENSE Makefile dkms.conf drv.c smu.c smu.h; do
95
install -Dm644 "$srcdir/ramsleuth/packaging/ryzen-smu-dkms/vendor/ryzen-smu/$v" \
96
"$pkgdir/usr/share/ryzen-smu-dkms/vendor/ryzen-smu/$v"
97
done
98
install -Dm644 "$srcdir/ramsleuth/packaging/ryzen-smu-dkms/vendor/SUMS.sha256" \
99
"$pkgdir/usr/share/ryzen-smu-dkms/vendor/SUMS.sha256"
100
install -Dm644 "$srcdir/ramsleuth/packaging/ryzen-smu-dkms/vendor/NOTICE.md" \
101
"$pkgdir/usr/share/ryzen-smu-dkms/vendor/NOTICE.md"
102
103
# 4) Short README.
104
install -Dm644 /dev/null "$pkgdir/usr/share/doc/ryzen-smu-dkms/README.txt"
105
cat >> "$pkgdir/usr/share/doc/ryzen-smu-dkms/README.txt" <<'EOF'
106
ryzen-smu-dkms (optional RamSleuth extra)
107
==========================================
108
109
OPTIONAL recommended extra for live AMD SMU subtimings. Without it,
110
RamSleuth works: the AMD section reads "N/A (DriverMissing)", exit 0,
111
no panic.
112
113
Build and install the module for this system's current kernel:
114
115
sudo ryzen-smu-dkms-install
116
117
(the helper verifies the matching kernel headers; if missing it
118
reports where to get them and does not guess).
119
120
OFFLINE build, no network: this package ships the pinned upstream
121
source (the vendored ryzen-smu at commit d298366 — GPL-2.0, a
122
separate work; see vendor/NOTICE.md), and the helper verifies every
123
file against vendor/SUMS.sha256 before building. The pinned
124
git-clone fetch remains only as the manual fallback
125
(RYZEN_SMU_FORCE_REMOTE=1).
126
127
Thin provisioning package: the module is never built in the AUR
128
build chroot (wrong kernel, no matching headers) — all dkms
129
add/build/install work happens on the target, via the helper.
130
131
AUTOINSTALL=yes in the bundled dkms.conf auto-rebuilds the module on
132
kernel updates. The ramsleuth systemd unit never loads the module.
133
EOF
134
}
135
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-26 07:14:17 | Low | 1 |