python-p4python
The package downloads source code from pythonhosted.org (standard PyPI host) and a Perforce API binary from perforce.com, both legitimate sources; the build uses official project sources and no unverified or executable payloads are run.
Triggered rules
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 package downloads source code from pythonhosted.org (standard PyPI host) and a Perforce API binary from perforce.com, both legitimate sources; the build uses official project sources and no unverified or executable payloads are run.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:15
'http://ftp.perforce.com/perforce/r18.1/bin.linux26x86_64/p4api.tgz')
PKGBUILD
1 offending line(s) highlighted# Maintainer: Adrian Bacircea <adrian.bacircea@gmail.com>
# Packager: Adrian Bacircea <adrian.bacircea@gmail.com>
# Contributor: Alex Whitt <alex.joseph.whitt@gmail.com>
_pkgsrcname=p4python
pkgname=python-p4python
pkgver=2018.2.1743033
p4apiver=2018.1.1957529
pkgrel=2
pkgdesc="Interface to Perforce API for Python 3"
url="https://www.perforce.com/perforce/doc.current/manuals/p4script/03_python.html"
arch=('any')
license=('custom')
source=($pkgname-$pkgver.tar.gz::"https://files.pythonhosted.org/packages/36/5a/0a1b192cdecd31cb8bc0d0ba39c73ffd84ce823053d0004823a1fdbe1440/p4python-2018.2.1743033.tar.gz"
'http://ftp.perforce.com/perforce/r18.1/bin.linux26x86_64/p4api.tgz')
sha256sums=('caa37ea520566f50181b042a474eb8012ff8dcbcc0512874170ad34bea1ba0c0'
'331fad2257e4c427e1f864032f8125821865f2ecad3c643574cf4157f9ca7295')
makedepends=('python-setuptools')
depends=('openssl-1.0' 'python')
prepare() {
# Clean up if needed
rm -rf python-$_pkgsrcname-$pkgver
sed -i 's/OpenSSL (\\d)\\.(\\d)\\.(\\d)(\\S+)\\s+\\d+ \\S+ \\d+/OpenSSL (\\d)\\.(\\d)\\.(\\d)(.*)/g' \
${_pkgsrcname}-${pkgver}/setup.py
sed -i 's/pattern.match(version_string)/pattern.search(version_string)/g' \
${_pkgsrcname}-${pkgver}/setup.py
# Copy folder, so we can cleanly build for both python versions
mv $_pkgsrcname-$pkgver python-$_pkgsrcname-$pkgver
cd ${srcdir}
tar -xf p4api.tgz
}
build() {
cd python-$_pkgsrcname-$pkgver
python setup.py build \
--ssl '/usr/lib/openssl-1.0' \
--apidir ${srcdir}/p4api-${p4apiver}
}
package() {
cd $srcdir/python-$_pkgsrcname-$pkgver
python setup.py install --root="$pkgdir/" --skip-build --optimize=1 \
--apidir ${srcdir}/p4api-${p4apiver}
install -Dm644 LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |