gourmand

maintainer fridge · 7 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The pip install uses a locally built wheel and variable-defined extras from a project-owned script, not an external untrusted package, so the risk is low despite the static analysis flag.

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 uses a locally built wheel and variable-defined extras from a project-owned script, not an external untrusted package, so the risk is low despite the static analysis flag.

  • PKGBUILD:36 venv/bin/pip install --isolated "$wheel[$extras]" "setuptools"
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:36 venv/bin/pip install --isolated "$wheel[$extras]" "setuptools"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: fridge <echo dW5sb3ZhYmxlX2ZyaWRnZTM1NkBhbGVlYXMuY29tCg== | base64 -d>
2# Contributor: Yigit Sever <echo eWlnaXRAeWlnaXRzZXZlci5jb20K | base64 -d>
3pkgname="gourmand"
4pkgver="1.2.0"
5pkgrel="2"
6pkgdesc="A manager, editor, and organizer for recipes."
7url="https://github.com/GourmandRecipeManager/$pkgname"
8license=("GPL-2.0-only")
9source=("$pkgname-git::git+$url.git#commit=$pkgver" "get-extras.py")
10b2sums=("SKIP" "d31820469d0cc07c6c53f7ef2bcf59dd153c82b5fc44347bf78d32797f43dbae2ac0a158ed2aba4dc4a2a74cb54539fb5fe1e6148c81e544503da054d992fcbc")
11arch=("x86_64")
12makedepends=("gendesk" "coreutils" "python-virtualenv" "python-pip" "python-setuptools" "git" "intltool")
13depends=("bash")
14conflicts=("$pkgname")
15provides=("$pkgname=$pkgver")
16
17pkgver()
18{
19 cd "$pkgname-git" || exit
20 git describe --tags --abbrev=0 --exclude "*rc*"
21}
22
23build()
24{
25 gendesk -f -n --categories="Utility" --startupnotify="true"
26 echo "creating start script"
27 echo -e '#!/bin/bash\ncd "/opt/'"$pkgname"'/bin"\n"./'"$pkgname"'" -q "$@"' > "$pkgname"
28 cd "$pkgname-git" || exit
29 echo "creating virtual environment"
30 python -m venv --clear --copies venv
31 echo "building Gourmand wheel"
32 python setup.py bdist_wheel
33 echo "installing into virtual environment"
34 local wheel; wheel="$(ls dist/*.whl)"
35 local extras; extras="$($srcdir/get-extras.py)"
36 venv/bin/pip install --isolated "$wheel[$extras]" "setuptools"
37 echo "removing unnecessary packages from virtual environment"
38 venv/bin/pip uninstall --isolated -y pip
39 echo "making virtual environment portable"
40 sed -i '1s|.*|#!/usr/bin/env -S /bin/sh -c '"'"'"\$(dirname "\$0")/python" "\$0" "\$@"'"'"'|' "venv/bin/$pkgname"
41}
42
43package()
44{
45 install -dv "$pkgdir/opt/$pkgname"
46 cp -afLv "$pkgname-git/venv/"* "$pkgdir/opt/$pkgname"
47 install -Dvm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
48 install -Dvm644 "$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
49 install -Dvm644 "$pkgname-git/src/$pkgname/data/images/$pkgname.svg" "$pkgdir/usr/share/icons/$pkgname.svg"
50}
51

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