whisparr-eros

LOW
maintainer txtsd 2 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The flagged pattern is a 'yarn install' during prepare(), but it uses the project's own lockfile (--frozen-lockfile) from the source tarball, ensuring reproducible frontend dependencies; this is standard for building the project and not an undeclared external package install.

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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The flagged pattern is a 'yarn install' during prepare(), but it uses the project's own lockfile (--frozen-lockfile) from the source tarball, ensuring reproducible frontend dependencies; this is standard for building the project and not an undeclared external package install.

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:88 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
4pkgname=whisparr-eros
5_pkgname=Whisparr
6__pkgname=Whisparr-Eros
7pkgver=3.5.0.1585
8_pkgver=${pkgver%.*}-release.${pkgver##*.}
9pkgrel=1
10pkgdesc='Adult movie organizer/manager for usenet and torrent users'
11arch=(x86_64 aarch64 armv7h)
12url='https://whisparr.com'
13license=('GPL-3.0-or-later')
14groups=(servarr)
15depends=(
16 aspnet-runtime-10.0
17 gcc-libs
18 glibc
19 sqlite
20 zlib
21)
22makedepends=(dotnet-sdk-10.0 yarn aspnet-targeting-pack-10.0)
23optdepends=(
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)
41install=whisparr-eros.install
42source=(
43 "${pkgname}-${pkgver}.tar.gz::https://github.com/Whisparr/Whisparr-Eros/archive/refs/tags/v${_pkgver}.tar.gz"
44 package_info
45 whisparr-eros.service
46 whisparr-eros.sysusers
47 whisparr-eros.tmpfiles
48)
49sha256sums=('c67115c03577e79e4ea8ee7769d6d508c0ecd321e414c23249895b0bae669d09'
50 '928ba49a81e3eeec4385ecf7f23040ad16758bacd4e3abd41d552595e8876cc8'
51 '3964160cb383c88c8d335da2ca37cf800a282b32f68b4093595694f4ac8fe99c'
52 '050f751d01333298bccfa84dbe11550031075f595009c15d37b089eaf453b19c'
53 '98be10c54d9c371e985af5b347a8991942e3d92a67010787f4b5ef8987b1f64a')
54
55case ${CARCH} in
56 x86_64) _CARCH='x64' ;;
57 aarch64) _CARCH='arm64' ;;
58 armv7h) _CARCH='arm' ;;
59esac
60
61_framework='net10.0'
62_runtime="linux-${_CARCH}"
63_output='_output'
64_artifacts="${_output}/${_framework}/${_runtime}/publish"
65_branch='eros'
66
67prepare() {
68 cd "${__pkgname}-${_pkgver}"
69
70 # Fix CVE-2026-41319
71 sed 's/OpenApi" Version="2\.4\.1"/OpenApi" Version="2\.7\.5"/' -i src/**/*.csproj
72
73 # Remove upstream dotnet version
74 rm global.json
75
76 export DOTNET_CLI_TELEMETRY_OPTOUT=1
77 export DOTNET_NOLOGO=1
78 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
79 # Uncomment after dotnet-sdk reaches 10.0.101
80 dotnet new globaljson --sdk-version 10.0.101 --roll-forward latestFeature
81
82 # Prepare backend
83 dotnet restore "src/${_pkgname}.sln" \
84 --runtime "${_runtime}" \
85 --locked-mode
86
87 # Prepare frontend
88 yarn install --frozen-lockfile --network-timeout 120000
89}
90
91build() {
92 cd "${__pkgname}-${_pkgver}"
93
94 # Build backend
95 export DOTNET_CLI_TELEMETRY_OPTOUT=1
96 export DOTNET_NOLOGO=1
97 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
98 dotnet build "src/${_pkgname}.sln" \
99 --framework "${_framework}" \
100 --runtime "${_runtime}" \
101 --no-self-contained \
102 --no-restore \
103 --configuration Release \
104 -p:Platform=Posix \
105 -p:AssemblyVersion=${pkgver} \
106 -p:AssemblyFileVersion=${pkgver} \
107 -p:AssemblyInformationalVersion=${_pkgver} \
108 -p:AssemblyConfiguration=${_branch} \
109 -p:RuntimeIdentifiers="${_runtime}" \
110 -t:PublishAllRids \
111 && dotnet build-server shutdown # Build servers do not terminate automatically
112
113 # Build frontend
114 yarn run build --env production
115}
116
117package() {
118 cd "${__pkgname}-${_pkgver}"
119
120 install -dm755 "${pkgdir}/usr/lib/whisparr-eros/bin/UI"
121
122 # Remove Service Helpers, Update, and Windows files
123 rm "${_artifacts}/ServiceInstall"*
124 rm "${_artifacts}/ServiceUninstall"*
125 rm "${_artifacts}/Whisparr.Windows."*
126 rm -rf "${_output}/Whisparr.Update"
127
128 # Copy backend
129 cp -dr "${_artifacts}/"* "${pkgdir}/usr/lib/whisparr-eros/bin"
130 # Copy frontend
131 cp -dr "${_output}/UI/"* "${pkgdir}/usr/lib/whisparr-eros/bin/UI"
132
133 # Set executable permissions
134 chmod 755 "${pkgdir}/usr/lib/whisparr-eros/bin/ffprobe"
135
136 # License
137 install -Dm644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}"
138
139 # Disable built in updater.
140 cd "${srcdir}"
141 install -Dm644 package_info "${pkgdir}/usr/lib/whisparr-eros"
142 echo "PackageVersion=${pkgver}-${pkgrel}" >> "${pkgdir}/usr/lib/whisparr-eros/package_info"
143
144 # Systemd
145 install -Dm644 whisparr-eros.service "${pkgdir}/usr/lib/systemd/system/whisparr-eros.service"
146 install -Dm644 whisparr-eros.sysusers "${pkgdir}/usr/lib/sysusers.d/whisparr-eros.conf"
147 install -Dm644 whisparr-eros.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/whisparr-eros.conf"
148}
149

Changes since previous scan

--- PKGBUILD @ 2026-09-09 00:04
+++ PKGBUILD @ 2026-09-17 00:27
@@ -4,7 +4,7 @@
pkgname=whisparr-eros
_pkgname=Whisparr
__pkgname=Whisparr-Eros
-pkgver=3.4.0.1387
+pkgver=3.5.0.1585
_pkgver=${pkgver%.*}-release.${pkgver##*.}
pkgrel=1
pkgdesc='Adult movie organizer/manager for usenet and torrent users'
@@ -46,7 +46,7 @@
whisparr-eros.sysusers
whisparr-eros.tmpfiles
)
-sha256sums=('818aacd7248222e2105865555489999f1b341846b145062fb4e57506bcf7e6b7'
+sha256sums=('c67115c03577e79e4ea8ee7769d6d508c0ecd321e414c23249895b0bae669d09'
'928ba49a81e3eeec4385ecf7f23040ad16758bacd4e3abd41d552595e8876cc8'
'3964160cb383c88c8d335da2ca37cf800a282b32f68b4093595694f4ac8fe99c'
'050f751d01333298bccfa84dbe11550031075f595009c15d37b089eaf453b19c'

Scan history

Scanned at (UTC)SeverityRules
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 17:19:54 Medium 1
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 11:45:21 Medium 1
2026-08-31 00:19:57 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