streamdeck-controller

LOW
maintainer uf8f 0 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The pip install fetches dependencies from PyPI, which is a standard and expected practice; the package builds from its own source and installs only project-related components without executing untrusted remote code.

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 fetches dependencies from PyPI, which is a standard and expected practice; the package builds from its own source and installs only project-related components without executing untrusted remote code.

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:23 pip install streamdeck pillow PySide6 --target "$srcdir/pylibs" --quiet

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Rico <ricwoh@pm.me>
2pkgname=streamdeck-controller
3pkgver=r1.811b68d
4pkgrel=1
5pkgdesc="Elgato Stream Deck GUI-Konfigurator und Controller"
6arch=('x86_64')
7url="https://github.com/ricwoh/streamdeck-controller"
8license=('MIT')
9depends=('python' 'hidapi')
10makedepends=('python-pip')
11install="$pkgname.install"
12source=("git+https://github.com/ricwoh/streamdeck-controller.git")
13options=(!debug !strip)
14sha256sums=('SKIP')
15
16pkgver() {
17 cd "$srcdir/$pkgname"
18 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
19}
20
21build() {
22 cd "$srcdir/$pkgname"
23 pip install streamdeck pillow PySide6 --target "$srcdir/pylibs" --quiet
24}
25
26package() {
27 cd "$srcdir/$pkgname"
28
29 # Python-Bibliothek (streamdeck, nicht in Arch-Repos)
30 install -dm755 "$pkgdir/usr/lib/$pkgname"
31 cp -r "$srcdir/pylibs/." "$pkgdir/usr/lib/$pkgname/"
32
33 # App-Dateien
34 install -Dm644 streamdeck_app.py "$pkgdir/usr/share/$pkgname/streamdeck_app.py"
35
36 # Icons-Ordner (leer – Nutzer legt eigene rein)
37 install -dm755 "$pkgdir/usr/share/$pkgname/Icons"
38
39 # Starter-Skript
40 install -dm755 "$pkgdir/usr/bin"
41 cat > "$pkgdir/usr/bin/streamdeck-controller" << 'EOF'
42#!/bin/bash
43export PYTHONPATH=/usr/lib/streamdeck-controller:${PYTHONPATH}
44exec python3 /usr/share/streamdeck-controller/streamdeck_app.py "$@"
45EOF
46 chmod 755 "$pkgdir/usr/bin/streamdeck-controller"
47
48 # udev-Regel (automatisch aktiv nach Installation)
49 install -dm755 "$pkgdir/usr/lib/udev/rules.d"
50 cat > "$pkgdir/usr/lib/udev/rules.d/50-elgato-streamdeck.rules" << 'EOF'
51SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", TAG+="uaccess"
52KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", TAG+="uaccess"
53EOF
54
55 # Desktop-Eintrag
56 install -dm755 "$pkgdir/usr/share/applications"
57 cat > "$pkgdir/usr/share/applications/streamdeck-controller.desktop" << 'EOF'
58[Desktop Entry]
59Name=Stream Deck
60Comment=Elgato Stream Deck Konfigurator
61Exec=streamdeck-controller
62Icon=input-gaming
63Terminal=false
64Type=Application
65Categories=Utility;HardwareSettings;
66EOF
67}
68

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 2
2026-09-16 00:03:17 Low 2
2026-09-15 00:25:31 Low 2
2026-09-14 00:27:57 Low 2
2026-09-13 00:19:54 Low 2
2026-09-12 00:25:17 Low 2
2026-09-11 00:19:22 Low 2
2026-09-10 00:22:44 Low 2
2026-09-09 00:04:09 Low 2
2026-09-08 00:18:08 Low 2
2026-09-07 00:30:15 Low 2
2026-09-06 00:17:06 Low 2
2026-09-05 00:16:27 Low 2
2026-09-04 00:03:13 Low 2
2026-09-03 00:15:47 Low 2
2026-09-02 00:02:31 Low 2
2026-09-01 00:11:19 Low 2
2026-08-31 00:19:57 Low 2
2026-08-30 00:04:14 Low 2
2026-08-29 00:29:17 Low 2

Report a package

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

0 / 4000
Your suggestion