greenboost
maintainer evorster
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The pip install is from a local source within the project's own source tree, not an external download, and the package builds its own code from a trusted project host (GitLab); the flagged external install is part of a standard venv setup for the project's CLI.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The pip install is from a local source within the project's own source tree, not an external download, and the package builds its own code from a trusted project host (GitLab); the flagged external install is part of a standard venv setup for the project's CLI.
2 higher static findings superseded - not the current verdict (shown for transparency)
MEDIUM
pip install of an external package
pip_install_external
`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:66
uv pip install "./greenboost-cli" --no-build-isolation
MEDIUM
External install via pipx/uv/poetry/cargo/go/gem
alt_pkg_manager_install
A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:66
uv pip install "./greenboost-cli" --no-build-isolation
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Evert Vorster <superchief@evertvorster.com>
2
3
pkgname=greenboost
4
pkgver=3.2
5
pkgrel=3
6
pkgdesc="CUDA memory orchestrator for NVIDIA GPUs — unified VRAM + System RAM + SSD pool"
7
arch=('x86_64')
8
url="https://gitlab.com/IsolatedOctopi/greenboost"
9
license=('GPL-2.0-or-later')
10
depends=(
11
'dkms'
12
'python'
13
'python-numpy'
14
'python-yaml'
15
'python-aiohttp'
16
'python-mcp'
17
'python-rich'
18
'python-prompt_toolkit'
19
'python-httpx'
20
'python-openai'
21
'python-huggingface-hub'
22
)
23
makedepends=('uv')
24
optdepends=(
25
'cuda: for TurboQuant KV cache compression'
26
'lib32-glibc: needed if 32-bit audit library is shipped (built automatically when multilib is present)'
27
'python-pytorch-cuda: for quantization and ML tools'
28
'python-scipy: for advanced quantization algorithms'
29
'python-transformers: for HuggingFace model tools'
30
)
31
provides=('greenboost')
32
conflicts=('greenboost-git')
33
install=greenboost.install
34
source=("${url}/-/archive/v${pkgver}/${pkgname}-v${pkgver}.tar.gz")
35
sha256sums=('5fe82212a44f91ac2f52ae35ab8bb9bd4216c38cb16e85d8c7f63e49d915e073')
36
37
build() {
38
cd "$srcdir/${pkgname}-v${pkgver}"
39
40
local _relro="-Wl,-z,relro -Wl,-z,now"
41
42
# ── C libraries ────────────────────────────────────────────────────
43
msg2 "Building CUDA shim..."
44
make shim \
45
SHIM_INSTALL_PATH=/usr/lib/libgreenboost_cuda.so \
46
SHIM_LDFLAGS="-Wl,--gc-sections -lzstd -Wl,--as-needed ${_relro}"
47
48
msg2 "Building LD_AUDIT injector..."
49
make audit \
50
SHIM_INSTALL_PATH=/usr/lib/libgreenboost_cuda.so
51
52
msg2 "Building 32-bit audit library (skipped if multilib missing)..."
53
make audit32 SHIM_INSTALL_PATH=/usr/lib/libgreenboost_cuda.so 2>/dev/null || true
54
55
msg2 "Building network daemon..."
56
make netd SHIM_INSTALL_PATH=/usr/lib/libgreenboost_cuda.so
57
58
msg2 "Building VMM override (Blackwell support)..."
59
make vmm_override
60
61
# ── Python CLI venv ────────────────────────────────────────────────
62
msg2 "Creating CLI virtual environment..."
63
uv venv --system-site-packages --clear cli-venv
64
# shellcheck disable=SC1091
65
source cli-venv/bin/activate
66
uv pip install "./greenboost-cli" --no-build-isolation
67
}
68
69
package() {
70
cd "$srcdir/${pkgname}-v${pkgver}"
71
72
# ── DKMS source tree ──────────────────────────────────────────────
73
local _dkms_dir="$pkgdir/usr/src/${pkgname}-${pkgver}"
74
install -dm755 "$_dkms_dir"
75
install -m644 greenboost.c \
76
greenboost_ioctl.h \
77
Kbuild \
78
Makefile \
79
dkms.conf \
80
"$_dkms_dir/"
81
cp -r features "$_dkms_dir/"
82
83
sed -i \
84
-e 's|M=\${build_dir}|M=\${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build|g' \
85
-e '/^MAKE\[0\]=/ s/modules"/KCFLAGS=-Wno-error=ignored-optimization-argument &/' \
86
"$_dkms_dir/dkms.conf"
87
88
# ── Userspace libraries ────────────────────────────────────────────
89
install -dm755 "$pkgdir/usr/lib"
90
install -m755 libgreenboost_cuda.so "$pkgdir/usr/lib/"
91
install -m755 libgreenboost_audit.so "$pkgdir/usr/lib/"
92
93
if [[ -f libgreenboost_audit32.so ]]; then
94
install -dm755 "$pkgdir/usr/lib32"
95
install -m755 libgreenboost_audit32.so \
96
"$pkgdir/usr/lib32/libgreenboost_audit.so"
97
fi
98
99
install -m755 libgreenboost_netd_capture.so "$pkgdir/usr/lib/"
100
install -m755 libgreenboost_vmm_override.so "$pkgdir/usr/lib/"
101
102
# ── System binaries ────────────────────────────────────────────────
103
install -dm755 "$pkgdir/usr/bin"
104
install -m755 greenboost-netd "$pkgdir/usr/bin/"
105
106
# greenboost-run: LD_PRELOAD shim wrapper
107
cat > "$pkgdir/usr/bin/greenboost-run" <<'WRAPEOF'
108
#!/bin/sh
109
LD_PRELOAD="/usr/lib/libgreenboost_cuda.so" exec "$@"
110
WRAPEOF
111
chmod 755 "$pkgdir/usr/bin/greenboost-run"
112
113
# greenboost: Python tool dispatcher
114
cat > "$pkgdir/usr/bin/greenboost" <<'GBEOF'
115
#!/bin/bash
116
_GB_LIBDIR="/usr/share/greenboost/lib"
117
export PYTHONPATH="${_GB_LIBDIR}:${PYTHONPATH}"
118
119
cmd="$1"
120
shift 2>/dev/null || true
121
122
case "${cmd}" in
123
"")
124
echo "GreenBoost v$(cat /usr/share/greenboost/dkms-version 2>/dev/null)"
125
echo "Usage: greenboost <command> [args]"
126
echo ""
127
echo "Commands:"
128
echo " status Show tiering status"
129
echo " dataflux-ui Launch dataflux web UI"
130
echo " monitor Show live telemetry"
131
echo " pilot Show evidence-backed tuning advice"
132
echo " mcp Start MCP server"
133
echo " faults Show memory migration activity"
134
echo " top Show per-buffer residency (hottest first)"
135
echo " residency Show hot/warm/cold byte breakdown"
136
echo " capabilities Show installed feature manifest"
137
echo " profile create Create hardware profile for DDR speed detection"
138
echo " run <cmd> Wrap command with shim (alias: greenboost-run)"
139
echo ""
140
echo "Cluster commands:"
141
echo " cluster Manage cluster feeders"
142
echo " connect <ip> Connect to a feeder machine"
143
;;
144
run)
145
LD_PRELOAD="/usr/lib/libgreenboost_cuda.so" exec "$@"
146
;;
147
status)
148
cat /sys/class/greenboost/greenboost/status 2>/dev/null \
149
|| echo "GreenBoost module not loaded (try: sudo modprobe greenboost)"
150
;;
151
dataflux-ui)
152
exec python3 "${_GB_LIBDIR}/gb_dataflux.py" serve "$@"
153
;;
154
monitor)
155
exec python3 "${_GB_LIBDIR}/gb_monitor.py" "$@"
156
;;
157
pilot)
158
exec python3 "${_GB_LIBDIR}/gb_pilot.py" "$@"
159
;;
160
mcp)
161
exec python3 "${_GB_LIBDIR}/gb_mcp.py" "$@"
162
;;
163
dataflux-mcp)
164
exec python3 "${_GB_LIBDIR}/gb_dataflux_mcp.py" "$@"
165
;;
166
cluster)
167
exec python3 "${_GB_LIBDIR}/gb_cluster.py" "$@"
168
;;
169
faults|top|residency|capabilities)
170
exec python3 "${_GB_LIBDIR}/gb_monitor.py" "${cmd}" "$@"
171
;;
172
profile)
173
case "${1:-}" in
174
create)
175
if [ "$(id -u)" -ne 0 ]; then
176
echo "root required to read DDR speed from dmidecode"
177
echo "Try: sudo greenboost profile create"
178
exit 1
179
fi
180
install -d /etc/greenboost/profiles 2>/dev/null || mkdir -p /etc/greenboost/profiles
181
{
182
echo "# GreenBoost hardware profile"
183
echo "# Generated: $(date -Is)"
184
echo ""
185
dmidecode --type memory 2>/dev/null | grep -E 'Speed|Type|Manufacturer' | head -10
186
} > /etc/greenboost/profiles/default.md
187
echo "Profile written to /etc/greenboost/profiles/default.md"
188
;;
189
*)
190
echo "Usage: greenboost profile create"
191
exit 1
192
;;
193
esac
194
;;
195
help|--help|-h)
196
echo "See: https://gitlab.com/IsolatedOctopi/greenboost"
197
echo "Full docs: /usr/share/doc/greenboost/"
198
;;
199
*)
200
echo "Unknown command: ${cmd}"
201
echo "Run 'greenboost' for usage."
202
exit 1
203
;;
204
esac
205
GBEOF
206
chmod 755 "$pkgdir/usr/bin/greenboost"
207
208
# ── Python library scripts ─────────────────────────────────────────
209
local _libdir="$pkgdir/usr/share/${pkgname}/lib"
210
install -dm755 "$_libdir"
211
install -m755 gb_*.py "$_libdir/"
212
install -m755 lib/gb_*.sh "$_libdir/"
213
214
# ── CLI venv ───────────────────────────────────────────────────────
215
local _cli_optdir="$pkgdir/opt/${pkgname}/cli-venv"
216
install -dm755 "$(dirname "$_cli_optdir")"
217
cp -r cli-venv "$_cli_optdir"
218
219
# Relocate venv paths from build dir to install path
220
find "$_cli_optdir" -type f \( -name '*.cfg' -o -name 'activate*' -o -name '*.nu' \
221
-o -name '*.bat' -o -name '*.csh' -o -name '*.fish' \) \
222
-exec sed -i "s|${srcdir}/${pkgname}-v${pkgver}/cli-venv|/opt/${pkgname}/cli-venv|g" {} + 2>/dev/null || true
223
sed -i "s|${srcdir}/${pkgname}-v${pkgver}/cli-venv|/opt/${pkgname}/cli-venv|g" \
224
"$_cli_optdir/bin"/* 2>/dev/null || true
225
226
# Clean up caches and srcdir references
227
rm -rf "$_cli_optdir/cache"
228
find "$_cli_optdir" -name '__pycache__' -type d -exec rm -rf {} + 2>/dev/null || true
229
find "$_cli_optdir" -name 'direct_url.json' -delete 2>/dev/null || true
230
231
# CLI wrapper scripts
232
for _cli_cmd in gb greenboost-cli; do
233
cat > "$pkgdir/usr/bin/${_cli_cmd}" <<'CLIEOF'
234
#!/bin/bash
235
exec /opt/greenboost/cli-venv/bin/python -m greenboost_cli.__main__ "$@"
236
CLIEOF
237
chmod 755 "$pkgdir/usr/bin/${_cli_cmd}"
238
done
239
240
# ── Version stamp ──────────────────────────────────────────────────
241
install -dm755 "$pkgdir/usr/share/$pkgname"
242
echo "$pkgver" > "$pkgdir/usr/share/$pkgname/dkms-version"
243
244
# ── Documentation ──────────────────────────────────────────────────
245
install -dm755 "$pkgdir/usr/share/doc/$pkgname"
246
install -m644 README.md CHANGELOG.md "$pkgdir/usr/share/doc/$pkgname/"
247
for doc in ARCHITECTURE.md DOCUMENTATION.md CONTAINER_VM_MODE.md \
248
GREENBOOST_COMMANDS.md GREENBOOST_PROTON.md; do
249
[[ -f "$doc" ]] && install -m644 "$doc" "$pkgdir/usr/share/doc/$pkgname/"
250
done
251
252
# ── udev rule ──────────────────────────────────────────────────────
253
install -dm755 "$pkgdir/usr/lib/udev/rules.d"
254
cat > "$pkgdir/usr/lib/udev/rules.d/99-greenboost.rules" <<'RULEEOF'
255
SUBSYSTEM=="greenboost", MODE="0660", GROUP="video"
256
RULEEOF
257
chmod 644 "$pkgdir/usr/lib/udev/rules.d/99-greenboost.rules"
258
259
# ── License ────────────────────────────────────────────────────────
260
install -dm755 "$pkgdir/usr/share/licenses/$pkgname"
261
install -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/"
262
}
263
Changes since previous scan
--- PKGBUILD @ 2026-07-23 00:14+++ PKGBUILD @ 2026-08-03 00:08@@ -2,7 +2,7 @@ pkgname=greenboost pkgver=3.2-pkgrel=2+pkgrel=3 pkgdesc="CUDA memory orchestrator for NVIDIA GPUs — unified VRAM + System RAM + SSD pool" arch=('x86_64') url="https://gitlab.com/IsolatedOctopi/greenboost"@@ -32,7 +32,7 @@ conflicts=('greenboost-git') install=greenboost.install source=("${url}/-/archive/v${pkgver}/${pkgname}-v${pkgver}.tar.gz")-sha256sums=('79147851e8d348df7065eb0816b2488650676b77ec058b93b93f4dcaa35bb97c')+sha256sums=('5fe82212a44f91ac2f52ae35ab8bb9bd4216c38cb16e85d8c7f63e49d915e073') build() { cd "$srcdir/${pkgname}-v${pkgver}"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 3 |
| 2026-08-02 00:16:08 | LOW | 3 |
| 2026-08-01 00:11:18 | LOW | 3 |
| 2026-07-31 00:14:10 | LOW | 3 |
| 2026-07-30 00:17:23 | LOW | 3 |
| 2026-07-29 00:25:53 | LOW | 3 |
| 2026-07-28 00:07:28 | LOW | 3 |
| 2026-07-27 00:24:32 | LOW | 4 |
| 2026-07-26 00:07:32 | LOW | 4 |
| 2026-07-25 00:13:44 | LOW | 4 |
| 2026-07-24 00:02:28 | LOW | 4 |
| 2026-07-23 05:22:32 | MEDIUM | 3 |
| 2026-07-23 00:14:47 | LOW | 4 |
| 2026-07-22 07:20:00 | MEDIUM | 3 |
| 2026-07-22 00:29:32 | LOW | 4 |
| 2026-07-21 00:24:15 | LOW | 4 |
| 2026-07-20 00:19:49 | LOW | 4 |
| 2026-07-19 00:17:08 | LOW | 4 |
| 2026-07-18 00:14:48 | LOW | 4 |
| 2026-07-17 00:06:16 | LOW | 4 |