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
5
pkgname=readarr-develop
6
_pkgname=Readarr
7
pkgver=0.4.18.2805
8
pkgrel=1
9
pkgdesc='Ebook and audiobook collection manager for newsgroup and torrent users (develop branch)'
10
arch=(x86_64 aarch64 armv7h)
11
url='https://readarr.com'
12
license=('GPL-3.0-or-later')
13
groups=(servarr-develop)
14
depends=(
15
aspnet-runtime-6.0
16
gcc-libs
17
glibc
18
sqlite
19
)
20
makedepends=(dotnet-sdk-6.0 yarn)
21
optdepends=(
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
)
39
provides=(readarr)
40
conflicts=(readarr)
41
install=readarr.install
42
source=(
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
)
49
sha256sums=('35296a098f9581521cf4109154aef0022d7c1ec90684869d9527687d4776ec45'
50
'12235af27b47fe1a353bc79fdfdf8c0e03fca5c0eb08f9eb57c0b66532c37648'
51
'ce5d3c5263792f7099ca5b87acee8a5c7573cc90931cc37a31da459d20b5cfa0'
52
'fcfa28c1be4f67cfa641dc6076780ee07ab973e55bf676174315e417f73003ad'
53
'a4cfdf882ab62dea54d85dfae4a633cf21bce597a19c3287d90c024e3ff399ce')
54
55
case ${CARCH} in
56
x86_64) _CARCH='x64' ;;
57
aarch64) _CARCH='arm64' ;;
58
armv7h) _CARCH='arm' ;;
59
esac
60
61
_framework='net6.0'
62
_runtime="linux-${_CARCH}"
63
_output="_output"
64
_artifacts="${_output}/${_framework}/${_runtime}/publish"
65
_branch='develop'
66
67
prepare() {
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
82
build() {
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
110
package() {
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) | Severity | Rules |
|---|---|---|
| 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 |