prowlarr
The yarn install is part of the frontend build process for the project's own source code from a trusted GitHub repository, not an external unreviewed package.
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 yarn install is part of the frontend build process for the project's own source code from a trusted GitHub repository, not an external unreviewed package.
1 higher static finding superseded - not the current verdict (shown for transparency)
npm_install_external
Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.
-
PKGBUILD:91
yarn install --frozen-lockfile --network-timeout 120000
PKGBUILD
1 offending line(s) highlighted# Maintainer: txtsd <aur.archlinux@ihavea.quest>
# Maintainer: Donald Webster <fryfrog@gmail.com>
# Helpful URL: https://prowlarr.servarr.com/v1/update/master?version=0.0.0.0&os=linux&runtime=netcore&arch=x64&includeMajorVersion=true
pkgname=prowlarr
_pkgname=Prowlarr
pkgver=2.7.0.5723
pkgrel=1
pkgdesc='Indexer manager/proxy for usenet and torrent users.'
arch=(x86_64 aarch64 armv7h)
url='https://prowlarr.com'
license=('GPL-3.0-or-later')
groups=(servarr)
depends=(
aspnet-runtime-8.0
gcc-libs
glibc
sqlite
)
makedepends=(dotnet-sdk-8.0 yarn)
optdepends=(
'postgresql: postgresql database'
'sabnzbd: usenet downloader'
'nzbget: usenet downloader'
'qbittorrent: torrent downloader'
'deluge: torrent downloader'
'rtorrent: torrent downloader'
'nodejs-flood: torrent downloader'
'vuze: torrent downloader'
'aria2: torrent downloader'
'transmission-cli: torrent downloader (CLI and daemon)'
'transmission-gtk: torrent downloader (GTK+)'
'transmission-qt: torrent downloader (Qt)'
'jackett: torrent indexer proxy'
'nzbhydra2: torznab and usenet indexer proxy'
'flaresolverr: A proxy server to bypass Cloudflare protection'
'sonarr: automatically integrates with and syncs indexers'
'radarr: automatically integrates with and syncs indexers'
'lidarr: automatically integrates with and syncs indexers'
'readarr: automatically integrates with and syncs indexers'
'whisparr: automatically integrates with and syncs indexers'
'mylar3: automatically integrates with and syncs indexers'
'lazylibrarian: automatically integrates with and syncs indexers'
)
install=prowlarr.install
source=(
"${pkgname}-${pkgver}.tar.gz::https://github.com/Prowlarr/Prowlarr/archive/refs/tags/v${pkgver}.tar.gz"
package_info
prowlarr.service
prowlarr.sysusers
prowlarr.tmpfiles
)
sha256sums=('6c26e6cb9a57087e883b0afc4c8b9c0ffd57726f2595c89b02c68c1770a7f0e4'
'1f9f8018436bd1e29a36c203639083d614722b65a4db64e22bf0c3295fc03fb8'
'0c9d7cda701395a8ddb708c111de58437543485702de23e23a0164a162a53bbc'
'ee61f5621eae6ab932fb093a4f75a0ab11bf9e3ca829f0d34c25014f68aeff7d'
'75591d19518bafc60862c60848ecad84f92c7f2b47b2b4eeafcbbbd650a43043')
case ${CARCH} in
x86_64) _CARCH='x64' ;;
aarch64) _CARCH='arm64' ;;
armv7h) _CARCH='arm' ;;
esac
_framework='net8.0'
_runtime="linux-${_CARCH}"
_output='_output'
_artifacts="${_output}/${_framework}/${_runtime}/publish"
_branch='master'
prepare() {
cd "${_pkgname}-${pkgver}"
# Fix CVE-2026-41319
sed 's/MailKit" Version="4\.14\.0"/MailKit" Version="4\.16\.0"/' -i src/NzbDrone.Core/Prowlarr.Core.csproj
# Remove upstream dotnet version
rm global.json
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_NOLOGO=1
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
dotnet new globaljson --sdk-version 8.0.127 --roll-forward latestFeature
# Prepare backend
dotnet restore "src/${_pkgname}.sln" \
--runtime "${_runtime}" \
--locked-mode
# Prepare frontend
yarn install --frozen-lockfile --network-timeout 120000
}
build() {
cd "${_pkgname}-${pkgver}"
# Build backend
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_NOLOGO=1
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
dotnet build "src/${_pkgname}.sln" \
--framework "${_framework}" \
--runtime "${_runtime}" \
--no-self-contained \
--no-restore \
--configuration Release \
-p:Platform=Posix \
-p:AssemblyVersion=${pkgver} \
-p:AssemblyConfiguration=${_branch} \
-p:RuntimeIdentifiers=${_runtime} \
-t:PublishAllRids \
&& dotnet build-server shutdown # Build servers do not terminate automatically
# Build frontend
yarn run build --env production
}
package() {
cd "${_pkgname}-${pkgver}"
install -dm755 "${pkgdir}/usr/lib/prowlarr/bin/UI"
# Remove Service Helpers, Update, and Windows files
rm "${_artifacts}/ServiceInstall"*
rm "${_artifacts}/ServiceUninstall"*
rm "${_artifacts}/Prowlarr.Windows."*
# Copy backend
cp -dr "${_artifacts}/"* "${pkgdir}/usr/lib/prowlarr/bin"
# Copy frontend
cp -dr "${_output}/UI/"* "${pkgdir}/usr/lib/prowlarr/bin/UI"
# License
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}"
# Disable built in updater.
cd "${srcdir}"
install -Dm644 package_info "${pkgdir}/usr/lib/prowlarr"
echo "PackageVersion=${pkgver}-${pkgrel}" >> "${pkgdir}/usr/lib/prowlarr/package_info"
# Systemd
install -Dm644 prowlarr.service "${pkgdir}/usr/lib/systemd/system/prowlarr.service"
install -Dm644 prowlarr.sysusers "${pkgdir}/usr/lib/sysusers.d/prowlarr.conf"
install -Dm644 prowlarr.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/prowlarr.conf"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-27 00:23+++ PKGBUILD @ 2026-11-01 00:21@@ -4,7 +4,7 @@ pkgname=prowlarr _pkgname=Prowlarr-pkgver=2.6.5.5623+pkgver=2.7.0.5723 pkgrel=1 pkgdesc='Indexer manager/proxy for usenet and torrent users.' arch=(x86_64 aarch64 armv7h)@@ -50,7 +50,7 @@ prowlarr.sysusers prowlarr.tmpfiles )-sha256sums=('1a88ca371ab9944845b0ded713c164bb9b6259fb925719185234dcc4f08d3908'+sha256sums=('6c26e6cb9a57087e883b0afc4c8b9c0ffd57726f2595c89b02c68c1770a7f0e4' '1f9f8018436bd1e29a36c203639083d614722b65a4db64e22bf0c3295fc03fb8' '0c9d7cda701395a8ddb708c111de58437543485702de23e23a0164a162a53bbc' 'ee61f5621eae6ab932fb093a4f75a0ab11bf9e3ca829f0d34c25014f68aeff7d'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 19:48:35 | Medium | 1 |
| 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 |