readarr-develop

maintainer txtsd · 3 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The yarn install in prepare() is part of building the project's own frontend from its official GitHub source, which is a normal and expected step in the build process for this application; the package does not introduce undeclared external dependencies or execute untrusted code.

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 90%): The yarn install in prepare() is part of building the project's own frontend from its official GitHub source, which is a normal and expected step in the build process for this application; the package does not introduce undeclared external dependencies or execute untrusted code.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM npm/yarn/pnpm install of an undeclared external package 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:79 yarn install --frozen-lockfile --network-timeout 120000

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: txtsd <aur.archlinux@ihavea.quest>
2# Maintainer: Donald Webster <fryfrog@gmail.com>
3# Helpful URL: https://readarr.servarr.com/v1/update/develop?version=0.0.0.0&os=linux&runtime=netcore&arch=x64&includeMajorVersion=true
4
5pkgname=readarr-develop
6_pkgname=Readarr
7pkgver=0.4.18.2805
8pkgrel=1
9pkgdesc='Ebook and audiobook collection manager for newsgroup and torrent users (develop branch)'
10arch=(x86_64 aarch64 armv7h)
11url='https://readarr.com'
12license=('GPL-3.0-or-later')
13groups=(servarr-develop)
14depends=(
15 aspnet-runtime-6.0
16 gcc-libs
17 glibc
18 sqlite
19)
20makedepends=(dotnet-sdk-6.0 yarn)
21optdepends=(
22 'postgresql: postgresql database'
23 'sabnzbd: usenet downloader'
24 'nzbget: usenet downloader'
25 'qbittorrent: torrent downloader'
26 'deluge: torrent downloader'
27 'rtorrent: torrent downloader'
28 'nodejs-flood: torrent downloader'
29 'vuze: torrent downloader'
30 'aria2: torrent downloader'
31 'transmission-cli: torrent downloader (CLI and daemon)'
32 'transmission-gtk: torrent downloader (GTK+)'
33 'transmission-qt: torrent downloader (Qt)'
34 'jackett: torrent indexer proxy'
35 'nzbhydra2: torznab and usenet indexer proxy'
36 'prowlarr: torrent and usenet indexer proxy'
37 'autobrr: irc, torrent and usenet indexer proxy'
38)
39provides=(readarr)
40conflicts=(readarr)
41install=readarr.install
42source=(
43 "${pkgname}-${pkgver}.tar.gz::https://github.com/Readarr/Readarr/archive/refs/tags/v${pkgver}.tar.gz"
44 package_info
45 readarr.service
46 readarr.sysusers
47 readarr.tmpfiles
48)
49sha256sums=('35296a098f9581521cf4109154aef0022d7c1ec90684869d9527687d4776ec45'
50 '12235af27b47fe1a353bc79fdfdf8c0e03fca5c0eb08f9eb57c0b66532c37648'
51 'ce5d3c5263792f7099ca5b87acee8a5c7573cc90931cc37a31da459d20b5cfa0'
52 'fcfa28c1be4f67cfa641dc6076780ee07ab973e55bf676174315e417f73003ad'
53 'a4cfdf882ab62dea54d85dfae4a633cf21bce597a19c3287d90c024e3ff399ce')
54
55case ${CARCH} in
56 x86_64) _CARCH='x64' ;;
57 aarch64) _CARCH='arm64' ;;
58 armv7h) _CARCH='arm' ;;
59esac
60
61_framework='net6.0'
62_runtime="linux-${_CARCH}"
63_output="_output"
64_artifacts="${_output}/${_framework}/${_runtime}/publish"
65_branch='develop'
66
67prepare() {
68 cd "${_pkgname}-${pkgver}"
69
70 # Prepare backend
71 export DOTNET_CLI_TELEMETRY_OPTOUT=1
72 export DOTNET_NOLOGO=1
73 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
74 dotnet restore src/${_pkgname}.sln \
75 --runtime ${_runtime} \
76 --locked-mode
77
78 # Prepare frontend
79 yarn install --frozen-lockfile --network-timeout 120000
80}
81
82build() {
83 cd "${_pkgname}-${pkgver}"
84
85 # Build backend
86 export DOTNET_CLI_TELEMETRY_OPTOUT=1
87 export DOTNET_NOLOGO=1
88 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
89 dotnet build src/${_pkgname}.sln \
90 --framework ${_framework} \
91 --runtime ${_runtime} \
92 --no-self-contained \
93 --no-restore \
94 --configuration Release \
95 -p:Platform=Posix \
96 -p:AssemblyVersion=${pkgver} \
97 -p:AssemblyConfiguration=${_branch} \
98 -p:RuntimeIdentifiers=${_runtime} \
99 -t:PublishAllRids
100
101 # Remove Service Helpers, Update, and Windows files
102 rm "${_artifacts}/ServiceInstall"*
103 rm "${_artifacts}/ServiceUninstall"*
104 rm "${_artifacts}/Readarr.Windows."*
105
106 # Build frontend
107 yarn run build --env production
108}
109
110package() {
111 cd "${_pkgname}-${pkgver}"
112 install -dm755 "${pkgdir}/usr/lib/readarr/bin/UI"
113
114 # Copy backend
115 cp -dr "${_artifacts}/"* "${pkgdir}/usr/lib/readarr/bin"
116 # Copy frontend
117 cp -dr "${_output}/UI/"* "${pkgdir}/usr/lib/readarr/bin/UI"
118
119 # License
120 install -Dm644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}"
121
122 # Disable built in updater.
123 cd "${srcdir}"
124 install -Dm644 package_info "${pkgdir}/usr/lib/readarr"
125 echo "PackageVersion=${pkgver}-${pkgrel}" >> "${pkgdir}/usr/lib/readarr/package_info"
126
127 # Systemd
128 install -Dm644 readarr.service "${pkgdir}/usr/lib/systemd/system/readarr.service"
129 install -Dm644 readarr.sysusers "${pkgdir}/usr/lib/sysusers.d/readarr.conf"
130 install -Dm644 readarr.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/readarr.conf"
131}
132

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