Ter-Music v2.1.0 Release Notes
Release Date: 2026-08-01
Tag: v2.1.0 (5038c86)
Since: v2.0.0 (880031a) — 51 commits
What's New
- Internationalization: complete i18n engine with XML language packs, in-app language switcher, and ~600 UI strings migrated to translation keys; tar.gz language pack distribution for community contributors
- Equalizer presets: 9 built-in EQ presets (Pop, Rock, Jazz, Classical, etc.) with soft-clip protection
- Lyrics improvements: switch between embedded ID3 lyrics and external
.lrcfiles; timestamp strip fix - Tree view: browse your library by artist/album directory hierarchy, coexisting with sort modes
- Recursive library scan with incremental tracking and performance tuning
- Graceful shutdown on SIGHUP/SIGTERM/SIGINT
- Packaging: Docker-based builds for DEB/RPM/Linyaps/AppImage/Portable, Arch AUR support (
ter-music-cn), verified on Ubuntu 20.04–26.04, Debian 10–13, Rocky 8–9 - Stability: fixes for playback stops, memory exhaustion in album art rendering, and MPRIS screen pollution
Summary of Changes by File
New Files (7 files, +2712 lines)
| File | Lines | Purpose |
|---|---|---|
data/lang/en_US.xml |
+568 | English language pack (all i18n translation keys) |
data/lang/zh_CN.xml |
+568 | Chinese language pack (all i18n translation keys) |
include/org.yxzl.ter-music/i18n/i18n.h |
+122 | i18n translation engine public API |
src/org.yxzl.ter-music/i18n/i18n.c |
+851 | i18n translation engine implementation (XML parser, key lookup, tar.gz loader) |
src/org.yxzl.ter-music/ui/language_view.c |
+288 | Dedicated language selection UI view (scrollable, right-aligned) |
scripts/docker/Dockerfile.uab |
+63 | Docker image for Linyaps UAB build environment (Debian 13 + linglong toolchain) |
scripts/docker/docker-build.sh |
+252 | Unified Docker build wrapper (image management, privileged modes, post-container chown) |
Removed Files (5 files, -644 lines)
| File | Lines | Reason |
|---|---|---|
cmake/toolchain-aarch64-linux-gnu.cmake |
-34 | Cross-compilation dropped; OBS handles non-x86 |
scripts/cross-compile/Dockerfile |
-103 | Replaced by per-format Dockerfiles under scripts/docker/ |
scripts/cross-compile/cross-build.sh |
-174 | Moved → scripts/docker/docker-build.sh (renamed + rewritten) |
scripts/cross-compile/docker-compose.yml |
-17 | No longer needed |
scripts/README.md |
-316 | Consolidated into docs/BUILD_GUIDE.md |
Renamed / Moved (5 files)
| Old Path | New Path |
|---|---|
scripts/cross-compile/Dockerfile.deb-static |
scripts/docker/Dockerfile.deb-static |
scripts/cross-compile/Dockerfile.rpm |
scripts/docker/Dockerfile.rpm |
scripts/cross-compile/Dockerfile.rpm-static |
scripts/docker/Dockerfile.rpm-static |
scripts/cross-compile/cross-build.sh |
scripts/docker/docker-build.sh |
data/help/help-quickstart-{zh,en}.txt |
data/help/help-quickstart-{zh_CN,en_US}.txt |
Core Source Files Modified (~60 files)
i18n migration (17 files): main/main.c, audio/audio.c, audio/backend_ops.c, audio/backend/pipewire.c, audio/playback_thread.c, audio/play_queue.c, playlist/playlist.c, search/search.c, ui/ui.c, ui/utf8.c, ui/controls.c, ui/dialog.c, ui/menus.c, ui/settings.c, ui/history.c, ui/layout.c, ui/util.c, ui/help_view.c, ui/playlist_view.c, ui/playlist_render.c, ui/info_view.c, ui/mouse.c, ui/favorites.c — all hardcoded strings replaced with i18n_get() key lookups.
Playback fixes (5 files): audio/playback_thread.c (segment pool end-of-stream + CUE offset interact), audio/segment_buffer.c, audio/audio.c (MPRIS screen pollution), audio/equalizer.c (EQ presets + soft-clip)
UI features (8 files): ui/lyrics.c (embedded/external switch, timestamp strip, cursor reset), ui/braille/braille_art.c + ui/braille/image_loader.c (memory exhaustion guard), ui/settings.c (EQ preset popup + settings refactor), ui/language_view.c (new), ui/scrollbar.c (lyrics overflow fix), ui/controls.c (tree view + hotkey fix)
Library / scanning (2 files): library/library.c, library/browser/browser.c (recursive scan, incremental tracking, performance tuning)
Signal handling (2 files): main/main.c, ui/ui.c (graceful exit on SIGHUP/SIGTERM/SIGINT)
Build / packaging (12 files): scripts/build/build-{deb,rpm,linyaps,appimage,portable}.sh, scripts/build/launch-auto-build.sh, scripts/docker/{docker-build.sh,Dockerfile.{deb-static,rpm,rpm-static,uab}}, .gitignore, PKGBUILD, .SRCINFO, debian/control, debian/rules
Version / metadata (6 files): include/org.yxzl.ter-music/types.h (APP_VERSION → v2.1.0), debian/copyright, debian/changelog, PKGBUILD, .SRCINFO
Documentation (8 files): docs/{BUILD_GUIDE.md,README.md}, docs/translations/README_zh-CN_{Legacy,Modern}.md, data/help/help-quickstart-{zh_CN,en_US}.txt
Commit History with File Changes
| Commit | Date | Summary | Files Changed |
|---|---|---|---|
5038c86 |
Aug 01 | fix(aur): PKGBUILD static pkgver, tag-based source, ncurses sed fix, i18n/icons/desktop install, optdepends, GPL-3.0, regenerate .SRCINFO | PKGBUILD, .SRCINFO |
ad42239 |
Aug 01 | fix(build): clean old .uab and .layer artifacts before each linyaps build | scripts/build/launch-auto-build.sh |
7ace7ce |
Aug 01 | fix(build): export UAB and layer independently (UAB mandatory, no fallback); fix root-owned artifacts via chown→chmod fallback across all 5 builders | build-{appimage,deb,linyaps,portable,rpm}.sh |
7b81f6f |
Aug 01 | feat(build): ostree pull uab-header/uab-loader/mkfs.erofs in Dockerfile.uab; --tmpfs /tmp:exec for nested overlay; LINGLONG_CONNECT_TIMEOUT=120; post-container chown safety net | Dockerfile.uab, docker-build.sh, .gitignore |
f9ed48a |
Jul 30 | fix(build): add -y flag to yum/dnf installs; apt --no-install-recommends; pipefail guards | Dockerfile.{deb-static,rpm,rpm-static,uab} |
d20585b |
Jul 29 | fix(build): upgrade FFmpeg 5→7 in deb-static+rpm-static; multiarch lib paths (/usr/lib/${triplet}) | Dockerfile.{deb-static,rpm-static}, debian/rules |
867a32a |
Jul 28 | fix(build): suppressed compiler warnings (-Wno-format-truncation etc), guarded rsync against root-owned temp, set -e robustness | build-{appimage,deb,linyaps,portable,rpm}.sh, debian/rules |
ad1afaa |
Jul 28 | fix(audio): memcpy replaces strncpy in audio.c to silence GCC -Wstringop-overflow |
src/.../audio/audio.c |
82e015a |
Jul 27 | fix(docker-build): -b flag rebuilds all 4 images with --no-cache; DOCKER_CONFIG writable location | scripts/docker/docker-build.sh |
e5b6be8 |
Jul 27 | refactor(build): rename cross-compile→docker; remove multi-arch conditionals; strip 400+ lines of dead code | 12 files (all build scripts, Dockerfiles, docs) |
9dd4d08 |
Jul 27 | fix(ui): lyrics overflow pushed scrollbar off screen → clamp to viewport bounds | src/.../ui/lyrics.c, src/.../ui/scrollbar.c |
8610260 |
Jul 27 | fix: echo→printf format safety; increased xvfb-run --auto-servernum for rpm build | build-deb.sh, build-rpm.sh, ui/help_view.c |
23c3f50 |
Jul 27 | docs: update BUILD_GUIDE for Docker-based linyaps; remove obsolete scripts/README.md | BUILD_GUIDE.md, README.md, 4 README translations |
dd69116 |
Jul 27 | feat(linyaps): containerized build mode via docker-build.sh with -p flag; propagate --keep-temp | build-linyaps.sh, launch-auto-build.sh |
115def6 |
Jul 27 | feat(linyaps): add Dockerfile.uab (Debian 13 + linglong/linyaps 1.13.8); cross-build.sh privileged support | Dockerfile.uab, cross-build.sh, .gitignore |
240b1f4 |
Jul 26 | fix(build): add zlib to Dockerfile.{deb-static,rpm,rpm-static}; remove obsolete Dockerfile and docker-compose.yml | 6 files (Dockerfiles, compose, build scripts) |
ef99f2e |
Jul 26 | refactor(build): remove cross-compilation entirely (~1100 lines); add zlib+sqlite3 deps; update AUR+docs | 16 files (all build scripts, Dockerfiles, docs, AUR) |
ef504f0 |
Jul 26 | chore: bump version to v2.1.0; update developer name to "Yanxi Bamboo Forest" and repo URL | 17 files (types.h, debian/, PKGBUILD, docs, scripts) |
9c61e9f |
Jul 26 | fix: built-in language guard prevents crash when lang pack absent; fix doc section numbering | i18n/i18n.c, 2 README files |
0d6c616 |
Jul 26 | docs: add tar.gz language pack distribution specification (naming, structure, url scheme) | 3 README files |
ffd61d9 |
Jul 26 | docs(fix): correct lyrics shortcut (D→Ctrl+L) and typo in Legacy readme | README_zh-CN_Legacy.md |
ad6188b |
Jul 26 | docs: update all docs for v2.0.0+ features (i18n, EQ presets, lyrics switch, recursive scan, signals) | 5 files (READMEs + help quickstart) |
195c1d3 |
Jul 26 | fix(playback): segment pool end-of-stream bug causing random playback stop; .gitignore update | audio/playback_thread.c, .gitignore |
a724c97 |
Jul 25 | feat(i18n): help-text file check included in language coverage % calculation | i18n/i18n.c |
fec0703 |
Jul 25 | fix(i18n): help.txt path mismatch between install script and help_view.c read path | i18n/i18n.c |
2449539 |
Jul 25 | feat(equalizer): 9 EQ presets (Pop/Rock/Jazz/etc), soft-clip limiter, preset popup menu in settings | audio/equalizer.{c,h}, ui/settings.c, both lang packs |
614b12d |
Jul 25 | fix(lyrics): reset cursor mode on lyrics reload; cursor_index fallback to 0 | ui/lyrics.c, ui/ui.c, README_zh-CN_Legacy.md |
c60eafd |
Jul 25 | fix(lyrics): strip embedded LRC timestamps during copy to prevent partial tag fragments at end of file | ui/lyrics.c |
d6f414b |
Jul 25 | feat(lyrics): switch between embedded (ID3) and external .lrc file from the lyrics view | 9 files (lyrics, library, audio, types, lang packs) |
00e1629 |
Jul 25 | fix(i18n): lyric seek hotkey D→Ctrl+L (D was conflicting with delete); update all docs | 9 files (help, lang packs, docs, controls, layout, settings) |
ae1e003 |
Jul 24 | fix(signal): install SIGTERM/SIGINT/SIGHUP handlers; stop audio on exit instead of leaving orphan | main/main.c, ui/ui.c |
7354d83 |
Jul 24 | feat(library): recursive directory scanning with depth limit; performance tuning; incremental file tracking | library/library.c, library/browser/browser.c |
d0db943 |
Jul 24 | feat(i18n): migrate all ~40 remaining hardcoded zh_CN/en ternary branches to i18n_get() | 17 files (audio, backend, playlist, ui, main) |
a4048ad |
Jul 24 | feat(i18n): tar.gz language pack system (load/save/list); reorganize help/ under data/; expand i18n.c to 503 lines | i18n/i18n.{c,h}, ui/help_view.c, CMakeLists.txt, data files |
04f9cd2 |
Jul 23 | refactor(settings): remove Language and Volume UI options (delegated to language_view + system mixer); ~107 lines removed | ui/settings.c, .gitignore |
9690d4c |
Jul 21 | i18n: sync language pack XML keys with latest source code state (add/rename/remove keys) | data/lang/{en_US,zh_CN}.xml |
503d353 |
Jul 15 | i18n: add newly-introduced UI keys to both language packs | data/lang/{en_US,zh_CN}.xml |
cec845f |
Jul 15 | fix: settings option keys aligned with language pack XML; all labels routed through i18n_get() | ui/settings.c |
b848c3b |
Jul 15 | fix: control bar labels, menu titles use i18n; ui_lang switching triggers full screen refresh | ui/controls.c, ui/menus.c, ui/ui.c, ui/language_view.c |
4c91778 |
Jul 15 | fix(sidebar): language sidebar item names resolved through i18n_get() instead of hardcoded strings | ui/util.c |
19363ea |
Jul 15 | fix(lang_view): language selection view right-aligned; scrollbar module integrated for long language lists | ui/language_view.c |
115dc4b |
Jul 15 | fix(i18n): missing language_sidebar_items array definition in util.c (compile fix) |
ui/util.c |
5be3fb4 |
Jul 15 | fix(i18n): change ui_language from int to char[32] to store locale codes; update config read/write |
config/config.c, ui/menus.c, ui/settings.c |
487f0b5 |
Jul 15 | feat(ui): new language_view.c (275 lines): scrollable list, selection highlight, keyboard navigation | 8 files (CMakeLists, lang_view, types, menus, lang packs) |
92f8e28 |
Jul 15 | feat(i18n): bulk migration — replace all direct printf/strcmp with i18n_get() calls across 22 files | 22 files (all major UI and logic modules) |
92b2105 |
Jul 15 | feat(i18n): initial i18n engine: XML parser, key→value lookup, config schema for lang preference, data/lang/ packs | 8 files (i18n.c/h, lang packs, types, config, main, CMakeLists) |
a6d705e |
Jul 14 | fix: album cover memory exhaustion (widthheightbpp > INT_MAX); png/jpeg size guard in image_loader; playlist null deref guard | 4 files (braille_art, image_loader, playlist) |
c9e9bfc |
Jul 14 | feat(tree): directory tree view coexisting with sort (artist/album/track hierarchy); keyboard + mouse tree navigation | 7 files (playlist, types, controls, mouse, playlist_render, ui) |
5f682bb |
Jul 13 | fix(ui): MPRIS dbus events triggered screen repaint in non-main views (pollution) | audio/audio.c |
ce6d1a0 |
Jul 13 | fix(audio): CUE file offset interacting with segment preload pool causing skip-back; buffer underrun guard | audio/playback_thread.c, audio/segment_buffer.c |
b5d2707 |
Jul 13 | fix(ui): transparent background for braille art and visualizer; clamp album art to terminal width; config schema migration framework | 13 files (ui/*, config, controls, layout, progress, settings, types, util, visualizer) |
Artifact List (build/release/)
| File | Size | Format | Target |
|---|---|---|---|
ter-music_2.1.0-1_amd64.deb |
5.8 MB | Debian binary (.deb) | Ubuntu 20.04-26.04, Debian 10-13 |
ter-music_2.1.0-1.debian.tar.xz |
2.4 KB | XZ (debian/ directory) | Source packaging |
ter-music_2.1.0-1.dsc |
1.2 KB | Debian Source Control | Source metadata |
ter-music_2.1.0.orig.tar.gz |
457 KB | gzip source tarball | Upstream source |
ter-music-2.1.0-1.el8.src.rpm |
384 KB | RPM source | EL8 rebuild |
ter-music-2.1.0-1.el8.x86_64.rpm |
1.9 MB | RPM binary | Rocky Linux 8/9 (RHEL compat) |
ter-music-2.1.0-portable-x86_64.tar.gz |
85 MB | gzip tarball (bundled deps) | Any glibc ≥2.28 Linux |
ter-music-2.1.0-x86_64.AppImage |
86 MB | AppImage (SquashFS) | Any glibc ≥2.28 Linux |
org.yxzl.ter-music_2.1.0_x86_64.uab |
48 MB | Linyaps UAB (ELF stub + app data) | Linyaps runtime |
org.yxzl.ter-music_2.1.0.0_x86_64_binary.layer |
54 MB | Linyaps layer (archive) | Linyaps runtime |
Non-x86 Builds (OBS Server)
Non-x86 architectures (aarch64/arm64, loong64, sw64, mips64el) are built and maintained on the OBS (Open Build Service) server.
OBS Project: https://obs22.odata.cc/package/show/home:Admin:app/ter-music
Packages are rebuilt automatically from the same v2.1.0 source by the OBS infrastructure.
Compatibility Matrix
| Package Type | Target Distros | Tested | Status |
|---|---|---|---|
| DEB (amd64) | Ubuntu 20.04/22.04/24.04/26.04 LTS | ✅ | All passed |
| DEB (amd64) | Debian 10(buster)/11(bullseye)/12(bookworm)/13(trixie) | ✅ | All passed |
| RPM (x86_64) | Rocky Linux 8/9 (RHEL 8/9 compat) | ✅ | All passed |
| Arch (x86_64) | Arch Linux (latest, pacman 7.x) | ✅ | PKGBUILD verified |
| Linyaps (x86_64) | Deepin / Linyaps 1.13+ | ✅ | UAB + layer |
| AppImage (x86_64) | Universal Linux (glibc ≥2.28) | ✅ | SquashFS appimage |
| Portable (x86_64) | Universal Linux (glibc ≥2.28) | ✅ | Bundled deps |
| OBS (arm64/loong64) | OBS cross-builds | ⬚ | Built automatically |
Links
- Repository: https://github.com/HuanSoft-Open-Source-Community/ter-music
- AUR: https://aur.archlinux.org/packages/ter-music-cn
- OBS Build Server: https://obs22.odata.cc/package/show/home:Admin:app/ter-music
- Linyaps: https://linyaps.org.cn
Ter-Music v2.1.0 发布说明
发布日期: 2026-08-01
标签: v2.1.0 (5038c86)
起始: v2.0.0 (880031a) — 51 个提交
更新摘要
- 国际化 (i18n):完整的翻译引擎(XML 语言包)、应用内语言切换器、约 600 条 UI 字符串迁移为翻译键;支持 tar.gz 语言包分发,方便社区贡献翻译
- 均衡器预设:内置 9 种 EQ 预设(流行、摇滚、爵士、古典等),带软限幅保护
- 歌词改进:支持内嵌 ID3 歌词与外部
.lrc文件间切换;修复时间戳剥离 - 树状视图:按艺术家/专辑目录层次浏览曲库,与排序模式共存
- 递归曲库扫描:增量跟踪与性能调优
- 优雅退出:SIGHUP/SIGTERM/SIGINT 信号处理
- 打包:Docker 化构建支持 DEB/RPM/Linyaps/AppImage/Portable,新增 Arch AUR 支持(
ter-music-cn),已验证 Ubuntu 20.04–26.04、Debian 10–13、Rocky 8–9 - 稳定性:修复随机停播、专辑封面渲染内存耗尽、MPRIS 屏幕污染等问题
按文件分组变更摘要
新增文件 (7 个, +2712 行)
| 文件 | 行数 | 用途 |
|---|---|---|
data/lang/en_US.xml |
+568 | 英文语言包(所有 i18n 翻译键值) |
data/lang/zh_CN.xml |
+568 | 中文语言包(所有 i18n 翻译键值) |
include/org.yxzl.ter-music/i18n/i18n.h |
+122 | i18n 翻译引擎公开 API |
src/org.yxzl.ter-music/i18n/i18n.c |
+851 | i18n 翻译引擎实现(XML 解析、键值查找、tar.gz 加载) |
src/org.yxzl.ter-music/ui/language_view.c |
+288 | 独立语言选择界面(可滚动、右对齐) |
scripts/docker/Dockerfile.uab |
+63 | Linyaps UAB 构建环境 Docker 镜像(Debian 13 + linglong 工具链) |
scripts/docker/docker-build.sh |
+252 | 统一 Docker 构建封装(镜像管理、特权模式、容器后 chown) |
删除文件 (5 个, -644 行)
| 文件 | 行数 | 原因 |
|---|---|---|
cmake/toolchain-aarch64-linux-gnu.cmake |
-34 | 交叉编译已移除,非 x86 交由 OBS 构建 |
scripts/cross-compile/Dockerfile |
-103 | 已按格式拆分为 scripts/docker/ 下独立 Dockerfile |
scripts/cross-compile/cross-build.sh |
-174 | 重命名并重写 → scripts/docker/docker-build.sh |
scripts/cross-compile/docker-compose.yml |
-17 | 不再需要 |
scripts/README.md |
-316 | 合并到 docs/BUILD_GUIDE.md |
重命名 / 移动 (5 个文件)
| 旧路径 | 新路径 |
|---|---|
scripts/cross-compile/Dockerfile.deb-static |
scripts/docker/Dockerfile.deb-static |
scripts/cross-compile/Dockerfile.rpm |
scripts/docker/Dockerfile.rpm |
scripts/cross-compile/Dockerfile.rpm-static |
scripts/docker/Dockerfile.rpm-static |
scripts/cross-compile/cross-build.sh |
scripts/docker/docker-build.sh |
data/help/help-quickstart-{zh,en}.txt |
data/help/help-quickstart-{zh_CN,en_US}.txt |
核心源码修改 (~60 个文件)
i18n 迁移 (17 个文件): main/main.c, audio/audio.c, audio/backend_ops.c, audio/backend/pipewire.c, audio/playback_thread.c, audio/play_queue.c, playlist/playlist.c, search/search.c, ui/ui.c, ui/utf8.c, ui/controls.c, ui/dialog.c, ui/menus.c, ui/settings.c, ui/history.c, ui/layout.c, ui/util.c, ui/help_view.c, ui/playlist_view.c, ui/playlist_render.c, ui/info_view.c, ui/mouse.c, ui/favorites.c — 所有硬编码字符串替换为 i18n_get() 键值查找
播放修复 (5 个文件): audio/playback_thread.c(段缓冲池流结束修复 + CUE 偏移交互), audio/segment_buffer.c, audio/audio.c(MPRIS 屏幕污染), audio/equalizer.c(EQ 预设 + 软限幅)
UI 特性 (8 个文件): ui/lyrics.c(内嵌/外部切换、时间戳剥离、光标重置), ui/braille/braille_art.c + ui/braille/image_loader.c(内存溢出防护), ui/settings.c(EQ 预设弹出菜单 + 设置重构), ui/language_view.c(新增), ui/scrollbar.c(歌词溢出修复), ui/controls.c(树视图 + 快捷键修正)
库扫描 (2 个文件): library/library.c, library/browser/browser.c(递归扫描、增量跟踪、性能调优)
信号处理 (2 个文件): main/main.c, ui/ui.c(SIGHUP/SIGTERM/SIGINT 优雅退出)
构建 / 打包 (12 个文件): scripts/build/build-{deb,rpm,linyaps,appimage,portable}.sh, scripts/build/launch-auto-build.sh, scripts/docker/{docker-build.sh,Dockerfile.{deb-static,rpm,rpm-static,uab}}, .gitignore, PKGBUILD, .SRCINFO, debian/control, debian/rules
版本 / 元数据 (6 个文件): include/org.yxzl.ter-music/types.h(APP_VERSION → v2.1.0), debian/copyright, debian/changelog, PKGBUILD, .SRCINFO
文档 (8 个文件): docs/{BUILD_GUIDE.md,README.md}, docs/translations/README_zh-CN_{Legacy,Modern}.md, data/help/help-quickstart-{zh_CN,en_US}.txt
构建产物 (build/release/)
| 文件 | 大小 | 格式 | 目标 |
|---|---|---|---|
ter-music_2.1.0-1_amd64.deb |
5.8 MB | Debian 二进制包 (.deb) | Ubuntu 20.04-26.04, Debian 10-13 |
ter-music_2.1.0-1.debian.tar.xz |
2.4 KB | XZ 压缩 (debian/ 目录) | 源码打包 |
ter-music_2.1.0-1.dsc |
1.2 KB | Debian Source Control | 源码元数据 |
ter-music_2.1.0.orig.tar.gz |
457 KB | gzip 源码包 | 上游源码 |
ter-music-2.1.0-1.el8.src.rpm |
384 KB | RPM 源码包 | EL8 重编译 |
ter-music-2.1.0-1.el8.x86_64.rpm |
1.9 MB | RPM 二进制包 | Rocky Linux 8/9 (RHEL 兼容) |
ter-music-2.1.0-portable-x86_64.tar.gz |
85 MB | gzip 可移植包 (自带依赖) | 任意 glibc ≥2.28 Linux |
ter-music-2.1.0-x86_64.AppImage |
86 MB | AppImage (SquashFS) | 任意 glibc ≥2.28 Linux |
org.yxzl.ter-music_2.1.0_x86_64.uab |
48 MB | Linyaps UAB (ELF 头部 + 应用数据) | Linyaps 运行时 |
org.yxzl.ter-music_2.1.0.0_x86_64_binary.layer |
54 MB | Linyaps layer (归档) | Linyaps 运行时 |
非 x86 构建 (OBS 服务器)
非 x86 架构(aarch64/arm64、loong64、sw64、mips64el)的软件包在 OBS(Open Build Service)服务器上构建和维护。
OBS 项目: https://obs22.odata.cc/package/show/home:Admin:app/ter-music
软件包从相同的 v2.1.0 源码由 OBS 基础设施自动重编译。
兼容性矩阵
| 包类型 | 目标发行版 | 测试状态 |
|---|---|---|
| DEB (amd64) | Ubuntu 20.04/22.04/24.04/26.04 LTS | ✅ 全部通过 |
| DEB (amd64) | Debian 10(buster)/11(bullseye)/12(bookworm)/13(trixie) | ✅ 全部通过 |
| RPM (x86_64) | Rocky Linux 8/9 (RHEL 8/9 兼容) | ✅ 全部通过 |
| Arch (x86_64) | Arch Linux (最新, pacman 7.x) | ✅ PKGBUILD 验证通过 |
| Linyaps (x86_64) | Deepin / Linyaps 1.13+ | ✅ UAB + layer |
| AppImage (x86_64) | 通用 Linux (glibc ≥2.28) | ✅ SquashFS appimage |
| Portable (x86_64) | 通用 Linux (glibc ≥2.28) | ✅ 自带依赖 |
| OBS (arm64/loong64) | OBS 交叉构建 | ⬚ 自动构建 |