sonolith-bin
MEDIUM
maintainer opecko14
0 votes
scanned 2026-10-24 09:40:04.174424
Why flagged
The package installs a prebuilt binary from a GitHub release without source code verification, creating a supply-chain risk if the release asset is compromised.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Medium
AI review of an ambiguous pattern
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (qwen/qwen3-235b-a22b-2507) reviewed it and judged it MEDIUM (confidence 90%): The package installs a prebuilt binary from a GitHub release without source code verification, creating a supply-chain risk if the release asset is compromised.
PKGBUILD
1
# Maintainer: opecko <https://github.com/opecko>
2
# AUR package: repackages the .deb from the GitHub release. Updated by scripts/aur.sh.
3
pkgname=sonolith-bin
4
pkgver=2.3.0
5
pkgrel=1
6
pkgdesc="YouTube Music desktop client (prebuilt)"
7
url='https://github.com/opecko/sonolith'
8
arch=('x86_64')
9
license=('MIT')
10
depends=('webkit2gtk-4.1' 'gtk3' 'libsoup3' 'dbus' 'gst-plugins-base' 'gst-plugins-good' 'gst-libav' 'libayatana-appindicator')
11
optdepends=('nodejs: JS runtime for the yt-dlp playback fallback'
12
'gnome-keyring: stores the login cookie (Secret Service)')
13
# Sonolith was called ytdesk until 2.2.0. The ytdesk packages of the same version are transitional (empty, they
14
# depend on this one), so only the real old ones conflict.
15
provides=('sonolith' 'ytdesk')
16
conflicts=('sonolith' "ytdesk<$pkgver" "ytdesk-bin<$pkgver")
17
replaces=('ytdesk-bin')
18
options=('!strip' '!debug')
19
source=("https://github.com/opecko/sonolith/releases/download/v$pkgver/sonolith_${pkgver}_amd64.deb"
20
"LICENSE-$pkgver::https://raw.githubusercontent.com/opecko/sonolith/v$pkgver/LICENSE")
21
noextract=("sonolith_${pkgver}_amd64.deb")
22
sha256sums=('e335fdfd4c3f55b54c602c666f478f4e8a6d27924925d7d36c1392b0641b6a4e'
23
'd8246ddc68471e6f5d5eb2bc54b9fb5878d6c362a7d99df0dd8193ec48cbdcce')
24
25
prepare() {
26
bsdtar -xf "sonolith_${pkgver}_amd64.deb" data.tar.gz
27
}
28
29
package() {
30
bsdtar -xf data.tar.gz -C "$pkgdir"
31
# Tauri names the 2x icon dir "256x256@2"; use the standard hicolor size dir.
32
if [ -d "$pkgdir/usr/share/icons/hicolor/256x256@2" ]; then
33
mkdir -p "$pkgdir/usr/share/icons/hicolor/256x256"
34
mv "$pkgdir/usr/share/icons/hicolor/256x256@2/apps" "$pkgdir/usr/share/icons/hicolor/256x256/"
35
rmdir "$pkgdir/usr/share/icons/hicolor/256x256@2"
36
fi
37
# The old command keeps working for one release.
38
ln -s sonolith "$pkgdir/usr/bin/ytdesk"
39
install -Dm644 "LICENSE-$pkgver" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
40
}
41
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-24 09:40:04 | Medium | 2 |