streamdeck-controller

maintainer uf8f · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
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-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

Report a package

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

0 / 4000
Your suggestion