neru-screen-control
maintainer Huzzama
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The pip install is run during prepare() but only installs dependencies from a requirements.txt file sourced from the project's own GitHub repository, which is a normal and safe practice for bundling dependencies in AUR packages.
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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The pip install is run during prepare() but only installs dependencies from a requirements.txt file sourced from the project's own GitHub repository, which is a normal and safe practice for bundling dependencies in AUR packages.
1 higher static finding 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:28
.venv/bin/pip install -r requirements.txt --quiet --no-cache-dir
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Huzzama <your@email.com>
2
pkgname=neru-screen-control
3
pkgver=1.0.0
4
pkgrel=1
5
pkgdesc="LCD display controller for Thermalright USB cooler screens"
6
arch=('any')
7
url="https://github.com/Huzzama/Neru-screen-control"
8
license=('MIT')
9
depends=(
10
'python>=3.10'
11
'python-pip'
12
'libusb'
13
'polkit'
14
)
15
optdepends=(
16
'python-pyside6: graphical user interface'
17
'python-pillow: image and frame rendering'
18
'python-opencv: video playback support'
19
'python-pynvml: NVIDIA GPU metrics'
20
)
21
ssource=("https://github.com/Huzzama/Neru-screen-control/archive/refs/tags/v${pkgver}.tar.gz")
22
sha256sums=('ac61cc2a7c82e47f2e3a075b4c781751e83a71a9c4d85149ebe723de47c8e5b8')
23
24
prepare() {
25
cd "$srcdir/Neru-screen-control-$pkgver"
26
# Install Python dependencies into a local venv for packaging
27
python3 -m venv .venv
28
.venv/bin/pip install -r requirements.txt --quiet --no-cache-dir
29
}
30
31
package() {
32
cd "$srcdir/Neru-screen-control-$pkgver"
33
34
# Application source files
35
install -dm755 "$pkgdir/usr/share/$pkgname"
36
cp -r src main.py icon.png requirements.txt \
37
"$pkgdir/usr/share/$pkgname/"
38
39
# Copy venv (bundled dependencies)
40
cp -r .venv "$pkgdir/usr/share/$pkgname/venv"
41
42
# /usr/bin wrapper
43
install -dm755 "$pkgdir/usr/bin"
44
cat > "$pkgdir/usr/bin/$pkgname" << 'WRAPPER'
45
#!/bin/bash
46
exec /usr/share/neru-screen-control/venv/bin/python \
47
/usr/share/neru-screen-control/main.py "$@"
48
WRAPPER
49
chmod +x "$pkgdir/usr/bin/$pkgname"
50
51
# Desktop launcher
52
install -Dm644 "packaging/shared/$pkgname.desktop" \
53
"$pkgdir/usr/share/applications/$pkgname.desktop"
54
55
# Icons (all sizes)
56
for size in 16 32 48 64 128 256; do
57
install -Dm644 \
58
"packaging/shared/icons/${size}x${size}/$pkgname.png" \
59
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/$pkgname.png"
60
done
61
62
# udev rule
63
install -Dm644 "99-chizhou-display.rules" \
64
"$pkgdir/usr/lib/udev/rules.d/99-chizhou-display.rules"
65
66
# systemd service template (not enabled — user opts in via Settings)
67
install -Dm644 "packaging/shared/$pkgname.service" \
68
"$pkgdir/usr/share/$pkgname/$pkgname.service"
69
70
# License
71
install -Dm644 LICENSE \
72
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
73
}
74
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |