zsh-git
The source is a Git repository from SourceForge, a known and generally trusted hosting platform; building from a non-whitelisted but legitimate project host with a SKIP'd checksum is a mild risk, but the source is the official zsh codebase and no untrusted executables are involved.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a Git repository from SourceForge, a known and generally trusted hosting platform; building from a non-whitelisted but legitimate project host with a SKIP'd checksum is a mild risk, but the source is the official zsh codebase and no untrusted executables are involved.
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:12
source=('zsh::git://git.code.sf.net/p/zsh/code'
PKGBUILD
1 offending line(s) highlighted# Contributor: Christian Hesse <mail@eworm.de>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgbase=zsh-git
pkgname=('zsh-git' 'zsh-doc-git')
pkgver=5.9.0.3.rtest.436.g0cd1b3881
pkgrel=1
arch=('x86_64')
url='https://www.zsh.org/'
license=('custom')
makedepends=('gdbm' 'git' 'libcap' 'pcre2' 'texlive-plaingeneric' 'yodl')
source=('zsh::git://git.code.sf.net/p/zsh/code'
'zprofile')
sha256sums=('SKIP'
'230832038c3b8f67fdb1b284ac5f68d709cdb7f1bc752b0e60657b9b9d091045')
pkgver() {
cd zsh
git describe --tags | sed 's/zsh-//;s/-/.r/;s/-/./g'
}
prepare() {
cd zsh
# Set correct keymap path
sed -i 's#/usr/share/keymaps#/usr/share/kbd/keymaps#g' Completion/Linux/Command/_kbd
# Remove unneeded and conflicting completion scripts
for _fpath in AIX BSD Cygwin Darwin Debian Mandriva openSUSE Redhat Solaris; do
rm -rf Completion/$_fpath
sed 's#\s*Completion/'$_fpath'/\*/\*##g' -i Src/Zle/complete.mdd
done
rm Completion/Linux/Command/_pkgtool
# regenerate configure script
./Util/preconfig
}
build() {
cd zsh
./configure --prefix=/usr \
--docdir=/usr/share/doc/zsh \
--htmldir=/usr/share/doc/zsh/html \
--enable-etcdir=/etc/zsh \
--enable-zshenv=/etc/zsh/zshenv \
--enable-zlogin=/etc/zsh/zlogin \
--enable-zlogout=/etc/zsh/zlogout \
--enable-zprofile=/etc/zsh/zprofile \
--enable-zshrc=/etc/zsh/zshrc \
--enable-maildir-support \
--with-term-lib='ncursesw' \
--enable-multibyte \
--enable-function-subdirs \
--enable-fndir=/usr/share/zsh/functions \
--enable-scriptdir=/usr/share/zsh/scripts \
--with-tcsetpgrp \
--enable-pcre \
--enable-gdbm \
--enable-cap \
--enable-zsh-secure-free
make
make -C Doc zsh.pdf
}
check() {
cd zsh
HOME="${srcdir}" make check
}
package_zsh-git() {
pkgdesc='A very advanced and programmable command interpreter (shell) for UNIX'
depends=('pcre2' 'libcap' 'gdbm')
conflicts=('zsh')
provides=('zsh')
optdepends=(
"grml-zsh-config: grml's zsh setup"
'zsh-autosuggestions: Fish-like autosuggestions for zsh'
'zsh-completions: Additional completion definitions for Zsh'
'zsh-doc: Info, HTML and PDF format of the ZSH documentation'
'zsh-history-substring-search: ZSH port of Fish history search (up arrow)'
'zsh-lovers: A collection of tips, tricks and examples for the Z shell.'
'zsh-syntax-highlighting: Fish shell like syntax highlighting for Zsh'
'zshdb: A debugger for zsh scripts')
backup=('etc/zsh/zprofile')
install=zsh.install
cd zsh
make DESTDIR="${pkgdir}/" install
install -D -m644 "${srcdir}/zprofile" "${pkgdir}/etc/zsh/zprofile"
install -D -m644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
package_zsh-doc-git() {
pkgdesc='Info, HTML and PDF format of the ZSH documentation'
conflicts=('zsh-doc')
provides=('zsh-doc')
cd zsh
make DESTDIR="${pkgdir}/" install.info install.html
install -D -m644 Doc/zsh.pdf "${pkgdir}/usr/share/doc/zsh/zsh.pdf"
install -D -m644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |