ryzen-smu-dkms

LOW
maintainer MadGoat 0 votes scanned 2026-09-26 07:14:17.811062
View on AUR
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
47pkgname=ryzen-smu-dkms
48pkgver=1.0
49pkgrel=2
50pkgdesc="Provisioning tools for the optional ryzen_smu DKMS module (RamSleuth live AMD subtimings)"
51arch=(x86_64)
52url="https://github.com/MadGoatHaz/RamSleuth"
53license=(MIT GPL-2.0-only)
54depends=(dkms)
55makedepends=()
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).
61conflicts=('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
74source=("ramsleuth::git+https://github.com/MadGoatHaz/RamSleuth.git#tag=v2.4.6")
75
76package() {
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'
106ryzen-smu-dkms (optional RamSleuth extra)
107==========================================
108
109OPTIONAL recommended extra for live AMD SMU subtimings. Without it,
110RamSleuth works: the AMD section reads "N/A (DriverMissing)", exit 0,
111no panic.
112
113Build 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
118reports where to get them and does not guess).
119
120OFFLINE build, no network: this package ships the pinned upstream
121source (the vendored ryzen-smu at commit d298366 — GPL-2.0, a
122separate work; see vendor/NOTICE.md), and the helper verifies every
123file against vendor/SUMS.sha256 before building. The pinned
124git-clone fetch remains only as the manual fallback
125(RYZEN_SMU_FORCE_REMOTE=1).
126
127Thin provisioning package: the module is never built in the AUR
128build chroot (wrong kernel, no matching headers) — all dkms
129add/build/install work happens on the target, via the helper.
130
131AUTOINSTALL=yes in the bundled dkms.conf auto-rebuilds the module on
132kernel updates. The ramsleuth systemd unit never loads the module.
133EOF
134}
135

Scan history

Scanned at (UTC)SeverityRules
2026-09-26 07:14:17 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion