sonarr
maintainer txtsd
· 6 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The yarn install is part of building the project's own frontend from source, using a frozen lockfile, and does not introduce undeclared external packages at runtime.
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 95%): The yarn install is part of building the project's own frontend from source, using a frozen lockfile, and does not introduce undeclared external packages at runtime.
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:84
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
# Contributor: Daniel Egeberg <daniel.egeberg@gmail.com>
4
# Contributor: Justin Dray <justin@dray.be>
5
# Helpful URL: https://services.sonarr.tv/v1/releases
6
7
pkgname=sonarr
8
_pkgname=Sonarr
9
pkgver=4.0.19.2979
10
pkgrel=1
11
pkgdesc='Smart PVR for newsgroup and torrent users'
12
arch=(x86_64 aarch64 armv7h)
13
url='https://sonarr.tv'
14
license=('GPL-3.0-or-later')
15
groups=(servarr)
16
depends=(
17
aspnet-runtime-6.0
18
gcc-libs
19
glibc
20
sqlite
21
)
22
makedepends=(dotnet-sdk-6.0 yarn)
23
optdepends=(
24
'postgresql: postgresql database'
25
'sabnzbd: usenet downloader'
26
'nzbget: usenet downloader'
27
'qbittorrent: torrent downloader'
28
'deluge: torrent downloader'
29
'rtorrent: torrent downloader'
30
'nodejs-flood: torrent downloader'
31
'vuze: torrent downloader'
32
'aria2: torrent downloader'
33
'transmission-cli: torrent downloader (CLI and daemon)'
34
'transmission-gtk: torrent downloader (GTK+)'
35
'transmission-qt: torrent downloader (Qt)'
36
'jackett: torrent indexer proxy'
37
'nzbhydra2: torznab and usenet indexer proxy'
38
'prowlarr: torrent and usenet indexer proxy'
39
'autobrr: irc, torrent and usenet indexer proxy'
40
)
41
install=sonarr.install
42
source=(
43
"${pkgname}-${pkgver}.tar.gz::https://github.com/Sonarr/Sonarr/archive/refs/tags/v${pkgver}.tar.gz"
44
package_info
45
sonarr.service
46
sonarr.sysusers
47
sonarr.tmpfiles
48
)
49
sha256sums=('f314e8b312ab431b78fe7d4c6c4093164e7bc402d93b7052cb87bd3e3dbf0b4c'
50
'19112dc0051224b4de66f28077c93b6ee06e163b5194e6aecf62dedf66ff45a9'
51
'a5fc162aeafb2c6322176db736a503047a39f2740eea4dead05438ed47187fbd'
52
'00141d4cbf34daa6d91b26179d4847ec970e2767382e18fdf9af2ec84a0ff43e'
53
'd6b18a83dd9c213470d984f71ddcefcd64d12bb87f68225cc4ebf5fa4a831703')
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='main'
66
67
prepare() {
68
cd "${_pkgname}-${pkgver}"
69
70
# Remove upstream dotnet version
71
rm global.json
72
73
export DOTNET_CLI_TELEMETRY_OPTOUT=1
74
export DOTNET_NOLOGO=1
75
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
76
dotnet new globaljson --sdk-version 6.0.113 --force
77
78
# Prepare backend
79
dotnet restore "src/${_pkgname}.sln" \
80
--runtime "${_runtime}" \
81
--locked-mode
82
83
# Prepare frontend
84
yarn install --frozen-lockfile --network-timeout 120000
85
}
86
87
build() {
88
cd "${_pkgname}-${pkgver}"
89
90
# Build backend
91
export DOTNET_CLI_TELEMETRY_OPTOUT=1
92
export DOTNET_NOLOGO=1
93
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
94
dotnet build "src/${_pkgname}.sln" \
95
--framework "${_framework}" \
96
--runtime "${_runtime}" \
97
--no-self-contained \
98
--no-restore \
99
--configuration Release \
100
-p:Platform=Posix \
101
-p:AssemblyVersion=${pkgver} \
102
-p:AssemblyConfiguration=${_branch} \
103
-p:RuntimeIdentifiers="${_runtime}" \
104
-t:PublishAllRids \
105
&& dotnet build-server shutdown # Build servers do not terminate automatically
106
107
# Build frontend
108
yarn run build --env production
109
}
110
111
package() {
112
cd "${_pkgname}-${pkgver}"
113
114
install -dm755 "${pkgdir}/usr/lib/sonarr/bin/UI"
115
116
# Remove Service Helpers, Update, and Windows files
117
rm "${_artifacts}/ServiceInstall"*
118
rm "${_artifacts}/ServiceUninstall"*
119
rm "${_artifacts}/Sonarr.Windows."*
120
rm -rf "${_output}/Sonarr.Update"
121
122
# Copy backend
123
cp -dr "${_artifacts}/"* "${pkgdir}/usr/lib/sonarr/bin"
124
# Copy frontend
125
cp -dr "${_output}/UI/"* "${pkgdir}/usr/lib/sonarr/bin/UI"
126
127
# Set executable permissions
128
chmod 755 "${pkgdir}/usr/lib/sonarr/bin/ffprobe"
129
130
# License
131
install -Dm644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}"
132
133
# Disable built in updater.
134
cd "${srcdir}"
135
install -Dm644 package_info "${pkgdir}/usr/lib/sonarr"
136
echo "PackageVersion=${pkgver}-${pkgrel}" >> "${pkgdir}/usr/lib/sonarr/package_info"
137
138
# Systemd
139
install -Dm644 sonarr.service "${pkgdir}/usr/lib/systemd/system/sonarr.service"
140
install -Dm644 sonarr.sysusers "${pkgdir}/usr/lib/sysusers.d/sonarr.conf"
141
install -Dm644 sonarr.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/sonarr.conf"
142
}
143
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 |