vpinfe-git
maintainer RobseRob
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The pip install is from the project's own requirements.txt within the cloned git repository, which is a normal and expected part of building a Python application from source; the dependencies are not externally injected and come from the same trusted upstream source.
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 from the project's own requirements.txt within the cloned git repository, which is a normal and expected part of building a Python application from source; the dependencies are not externally injected and come from the same trusted upstream source.
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:27
pip install -r requirements.txt
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: robserob <robin at robserob.dk>
2
pkgname=vpinfe-git
3
_pkgname=${pkgname%-git}
4
_reponame=vpinfe
5
pkgver=r538.6d5f172
6
pkgrel=1
7
pkgdesc="A vpinball frontend for Linux, Mac, and Windows"
8
arch=('any')
9
url="https://github.com/superhac/vpinfe"
10
depends=('git' 'python-pip' 'chromium')
11
provides=('vpinfe')
12
conflicts=('vpinfe')
13
source=('git+https://github.com/superhac/vpinfe.git' 'vpinfe.desktop' 'vpinfe.png')
14
sha256sums=('SKIP' 'd0c22bc258c3fbee04a31378454246f25a3360cf48e870fcb374559de6b4a072' '7e7e1b0854ffcf745d9cf5a643cb005bb3c1c21f58ef50dc9c889eef5e9b92bd')
15
16
pkgver() {
17
cd "$srcdir/$_reponame"
18
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
19
}
20
21
package() {
22
# Create virtual environment and install dependencies
23
mkdir -p "$pkgdir/opt/$_pkgname/venv"
24
python -m venv "$pkgdir/opt/$_pkgname/venv"
25
source "$pkgdir/opt/$_pkgname/venv/bin/activate"
26
cd "$srcdir/$_reponame"
27
pip install -r requirements.txt
28
deactivate
29
30
# Install source files
31
cd "$srcdir"
32
install -d "$_reponame" "$pkgdir/opt/$_pkgname"
33
cp -r "$_reponame"/* "$pkgdir/opt/$_pkgname/"
34
35
# Install launch script to /usr/bin
36
mkdir -p "$pkgdir/usr/bin"
37
echo "#!/bin/bash" > "$pkgdir/usr/bin/$_pkgname"
38
echo "cd ~" >> "$pkgdir/usr/bin/$_pkgname"
39
echo "/opt/$_pkgname/venv/bin/python /opt/$_pkgname/main.py \$@" >> "$pkgdir/usr/bin/$_pkgname"
40
chmod +x "$pkgdir/usr/bin/$_pkgname"
41
42
# Install application entry
43
install -Dm 644 "${srcdir}/vpinfe.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/vpinfe.png"
44
install -Dm644 "$srcdir/vpinfe.desktop" "$pkgdir/usr/share/applications/vpinfe.desktop"
45
}
46
47
clean() {
48
cd "$srcdir"
49
rm -rf "$_reponame"
50
}
51
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 |