whisparr-eros-develop
maintainer txtsd
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The yarn install runs on the project's own source from a legitimate GitHub release tarball, not an external untrusted package; building frontend assets is normal and expected in AUR packages.
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 runs on the project's own source from a legitimate GitHub release tarball, not an external untrusted package; building frontend assets is normal and expected in AUR packages.
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:85
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
4
pkgname=whisparr-eros-develop
5
_pkgname=Whisparr
6
__pkgname=Whisparr-Eros
7
pkgver=3.3.3.736
8
_pkgver=${pkgver%.*}-develop.${pkgver##*.}
9
pkgrel=1
10
pkgdesc='Adult movie organizer/manager for usenet and torrent users (develop branch)'
11
arch=(x86_64 aarch64 armv7h)
12
url='https://whisparr.com'
13
license=('GPL-3.0-or-later')
14
groups=(servarr)
15
depends=(
16
aspnet-runtime-10.0
17
gcc-libs
18
glibc
19
sqlite
20
zlib
21
)
22
makedepends=(dotnet-sdk-10.0 yarn aspnet-targeting-pack-10.0)
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=whisparr-eros.install
42
source=(
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
)
49
sha256sums=('dac28fcf25323f414fda5a4d7534361fe9e2e1a7664fe1bc1692682e41984388'
50
'66ede8c26b84f6313501d17edfa44b8bec5778e0ff3cc1bdb42476fabd1f0410'
51
'3964160cb383c88c8d335da2ca37cf800a282b32f68b4093595694f4ac8fe99c'
52
'050f751d01333298bccfa84dbe11550031075f595009c15d37b089eaf453b19c'
53
'98be10c54d9c371e985af5b347a8991942e3d92a67010787f4b5ef8987b1f64a')
54
55
case ${CARCH} in
56
x86_64) _CARCH='x64' ;;
57
aarch64) _CARCH='arm64' ;;
58
armv7h) _CARCH='arm' ;;
59
esac
60
61
_framework='net10.0'
62
_runtime="linux-${_CARCH}"
63
_output='_output'
64
_artifacts="${_output}/${_framework}/${_runtime}/publish"
65
_branch='eros-develop'
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
# Uncomment after dotnet-sdk reaches 10.0.101
77
# dotnet new globaljson --sdk-version 10.0.101 --force
78
79
# Prepare backend
80
dotnet restore "src/${_pkgname}.sln" \
81
--runtime "${_runtime}" \
82
--locked-mode
83
84
# Prepare frontend
85
yarn install --frozen-lockfile --network-timeout 120000
86
}
87
88
build() {
89
cd "${__pkgname}-${_pkgver}"
90
91
# Build backend
92
export DOTNET_CLI_TELEMETRY_OPTOUT=1
93
export DOTNET_NOLOGO=1
94
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
95
dotnet build "src/${_pkgname}.sln" \
96
--framework "${_framework}" \
97
--runtime "${_runtime}" \
98
--no-self-contained \
99
--no-restore \
100
--configuration Release \
101
-p:Platform=Posix \
102
-p:AssemblyVersion=${pkgver} \
103
-p:AssemblyFileVersion=${pkgver} \
104
-p:AssemblyInformationalVersion=${_pkgver} \
105
-p:AssemblyConfiguration=${_branch} \
106
-p:RuntimeIdentifiers="${_runtime}" \
107
-t:PublishAllRids \
108
&& dotnet build-server shutdown # Build servers do not terminate automatically
109
110
# Build frontend
111
yarn run build --env production
112
}
113
114
package() {
115
cd "${__pkgname}-${_pkgver}"
116
117
install -dm755 "${pkgdir}/usr/lib/whisparr-eros/bin/UI"
118
119
# Remove Service Helpers, Update, and Windows files
120
rm "${_artifacts}/ServiceInstall"*
121
rm "${_artifacts}/ServiceUninstall"*
122
rm "${_artifacts}/Whisparr.Windows."*
123
rm -rf "${_output}/Whisparr.Update"
124
125
# Copy backend
126
cp -dr "${_artifacts}/"* "${pkgdir}/usr/lib/whisparr-eros/bin"
127
# Copy frontend
128
cp -dr "${_output}/UI/"* "${pkgdir}/usr/lib/whisparr-eros/bin/UI"
129
130
# Set executable permissions
131
chmod 755 "${pkgdir}/usr/lib/whisparr-eros/bin/ffprobe"
132
133
# License
134
install -Dm644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}"
135
136
# Disable built in updater.
137
cd "${srcdir}"
138
install -Dm644 package_info "${pkgdir}/usr/lib/whisparr-eros"
139
echo "PackageVersion=${pkgver}-${pkgrel}" >> "${pkgdir}/usr/lib/whisparr-eros/package_info"
140
141
# Systemd
142
install -Dm644 whisparr-eros.service "${pkgdir}/usr/lib/systemd/system/whisparr-eros.service"
143
install -Dm644 whisparr-eros.sysusers "${pkgdir}/usr/lib/sysusers.d/whisparr-eros.conf"
144
install -Dm644 whisparr-eros.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/whisparr-eros.conf"
145
}
146
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 |