aurora-music

LOW
maintainer stanleychan87 0 votes scanned 2026-10-17 00:21:55.226236
View on AUR
Why flagged

Package builds from git source using a tagged commit, which is a common AUR practice for reproducibility; uses SKIP'd checksum due to git source, but source is from a plausible project-owned repository; no remote code execution or malicious payloads detected; flagged low due to few votes and recent upload, but build process is transparent and follows project guidelines.

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.

Low AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): Package builds from git source using a tagged commit, which is a common AUR practice for reproducibility; uses SKIP'd checksum due to git source, but source is from a plausible project-owned repository; no remote code execution or malicious payloads detected; flagged low due to few votes and recent upload, but build process is transparent and follows project guidelines.

PKGBUILD

1# Maintainer: Stanley Chan <johnsmith874436@gmail.com>
2#
3# ── 为什么用 git 源而不是 GitHub 的 release tarball ──────────────────
4#
5# GitHub 自动生成的 archive tarball **不保证长期字节稳定**(官方会重新
6# 压缩),这会让固定下来的 sha256sums 在某个时刻突然失效——是 AUR 包常见
7# 的维护故障。git 源按 tag 固定到具体 commit,不会这样坏掉。
8#
9# ── 为什么用 --no-bundle 手工安装 ───────────────────────────────────
10#
11# 官方 Tauri 指南建议 `tauri build -b deb` 再解包进 ${pkgdir}。这里改为
12# 直接 --no-bundle 后手工 install:只有几行、完全可控,且不依赖 deb 打包器
13# 的具体输出布局。
14#
15# ── 为什么必须是 `tauri build` 而不是 `cargo build --release` ───────
16#
17# Tauri 依据 **custom-protocol 特性**(而非 debug/release profile)决定
18# 内嵌前端资源还是加载开发服务器地址(见 tauri/build.rs: `let dev = !custom_protocol`)。
19# 只有 tauri CLI 会传入该特性。用 cargo 直接构建(即使加 --release)产出的
20# 二进制会在启动时尝试连接 localhost:1420 并失败。
21#
22# ── 为什么必须 `options=(!lto)` ─────────────────────────────────────
23#
24# makepkg 的 lto 选项会把 $LTOFLAGS(-flto=auto)追加进 CFLAGS、CXXFLAGS 和
25# LDFLAGS(见 /usr/share/makepkg/buildenv/lto.sh)。于是 cc crate 在编译
26# vendored 的 sqlite3.c 时产出的是 **GCC 的 GIMPLE 中间表示**
27# (目标文件里全是 .gnu.lto_* 段),而不是本机代码。
28#
29# 而 rustc 在 x86_64-unknown-linux-gnu 上用的链接器是 LLVM 系的 rust-lld,
30# 它读不懂 GCC 的 LTO 格式(那要靠 ld.bfd 加 liblto_plugin)。结果就是
31# sqlite3 的全部符号在最终链接时变成 undefined:
32#
33# rust-lld: error: undefined symbol: sqlite3_errcode
34# rust-lld: error: undefined symbol: sqlite3_keyword_check
35#
36# 关掉 makepkg 层面的 LTO 即可。Rust 侧的 LTO 由 Cargo profile 控制,
37# 不受此选项影响。
38
39pkgname=aurora-music
40pkgver=0.1.0
41pkgrel=1
42pkgdesc="本地音乐播放器,基于 Tauri 2 + Rust + React"
43arch=('x86_64')
44url="https://github.com/johnsmith8736/aurora-music"
45license=('GPL-3.0-only')
46
47# 见文件头「为什么必须 options=(!lto)」——不是偷懒,是 LTO 会让 vendored
48# sqlite3.c 变成 rust-lld 无法链接的格式。
49options=(!lto)
50
51# 依据构建产物 `readelf -d ... | grep NEEDED` 的直接依赖得出,
52# 另加桌面集成所需的 desktop-file-utils 与 hicolor-icon-theme。
53depends=(
54 'alsa-lib'
55 'cairo'
56 'dbus'
57 'desktop-file-utils'
58 'gdk-pixbuf2'
59 'glib2'
60 'gtk3'
61 'hicolor-icon-theme'
62 'libsoup3'
63 'pango'
64 'webkit2gtk-4.1'
65)
66
67makedepends=('cargo' 'git' 'nodejs' 'npm' 'pkgconf')
68
69install="${pkgname}.install"
70
71source=("${pkgname}::git+${url}.git#tag=v${pkgver}")
72sha256sums=('SKIP')
73
74build() {
75 cd "${pkgname}"
76
77 # package-lock.json 与 Cargo.lock 均已入库,因此可用确定性的 npm ci
78 npm ci
79
80 # beforeBuildCommand(npm run build → tsc + vite build)由 tauri CLI 触发
81 ./node_modules/.bin/tauri build --no-bundle
82}
83
84package() {
85 cd "${pkgname}"
86
87 install -Dm755 "src-tauri/target/release/${pkgname}" \
88 "${pkgdir}/usr/bin/${pkgname}"
89
90 install -Dm644 packaging/aurora-music.desktop \
91 "${pkgdir}/usr/share/applications/${pkgname}.desktop"
92
93 # hicolor 尺寸 <- 源文件(文件名来自 `tauri icon` 的默认输出)
94 for pair in 32:32x32 64:64x64 128:128x128 256:128x128@2x 512:icon; do
95 install -Dm644 "src-tauri/icons/${pair#*:}.png" \
96 "${pkgdir}/usr/share/icons/hicolor/${pair%%:*}x${pair%%:*}/apps/${pkgname}.png"
97 done
98
99 install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
100}
101

Scan history

Scanned at (UTC)SeverityRules
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 15:12:23 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