mirror of
https://github.com/Melorise/TamaASR.git
synced 2026-11-07 14:39:32 +00:00
fix: 修复 Arch 远程源码打包并发布 0.1.15
AI-assisted-by: Codex AI-model: gpt-5.6-sol AI-reasoning-effort: medium Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
@@ -204,8 +204,10 @@ jobs:
|
|||||||
path: release
|
path: release
|
||||||
merge-multiple: true
|
merge-multiple: true
|
||||||
|
|
||||||
- name: 附带构建使用的 flake.lock
|
- name: 附带发行元数据
|
||||||
run: cp flake.lock release/flake.lock
|
run: |
|
||||||
|
cp flake.lock release/flake.lock
|
||||||
|
cp packaging/arch/PKGBUILD release/PKGBUILD
|
||||||
|
|
||||||
- uses: softprops/action-gh-release@v2
|
- uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## 项目范围
|
## 项目范围
|
||||||
|
|
||||||
MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.14`。
|
MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.15`。
|
||||||
|
|
||||||
不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。
|
不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 的格式。
|
本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 的格式。
|
||||||
|
|
||||||
|
## [0.1.15] - 2026-08-26
|
||||||
|
|
||||||
|
### 修复
|
||||||
|
|
||||||
|
- Arch PKGBUILD 改为直接下载 GitHub Release 标签对应的源码归档,不再要求发布者或用户手动放置源码包。
|
||||||
|
- 修正 GitHub 标签归档的解压目录处理,使 `makepkg` 可以直接完成构建、测试和打包。
|
||||||
|
- 远程 Release 现在附带当前版本的 `PKGBUILD`,Arch 用户无需再从源码树中单独提取打包文件。
|
||||||
|
|
||||||
## [0.1.14] - 2026-08-26
|
## [0.1.14] - 2026-08-26
|
||||||
|
|
||||||
### 性能
|
### 性能
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## 项目范围
|
## 项目范围
|
||||||
|
|
||||||
MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.14`。
|
MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.15`。
|
||||||
|
|
||||||
不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。
|
不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
project(meloasr-fcitx5 VERSION 0.1.14 LANGUAGES CXX)
|
project(meloasr-fcitx5 VERSION 0.1.15 LANGUAGES CXX)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
include(CTest)
|
include(CTest)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Comment[zh_CN]=将 MeloASR 网页后端连接到当前输入上下文
|
|||||||
Type=SharedLibrary
|
Type=SharedLibrary
|
||||||
Library=@MELOASR_LIBRARY_PATH@
|
Library=@MELOASR_LIBRARY_PATH@
|
||||||
Category=Module
|
Category=Module
|
||||||
Version=0.1.14
|
Version=0.1.15
|
||||||
OnDemand=False
|
OnDemand=False
|
||||||
Configurable=False
|
Configurable=False
|
||||||
|
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "meloasr",
|
"name": "meloasr",
|
||||||
"version": "0.1.14",
|
"version": "0.1.15",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "meloasr",
|
"name": "meloasr",
|
||||||
"version": "0.1.14",
|
"version": "0.1.15",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.0.0",
|
"@types/node": "^24.0.0",
|
||||||
"electron": "42.3.0",
|
"electron": "42.3.0",
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "meloasr",
|
"name": "meloasr",
|
||||||
"productName": "MeloASR",
|
"productName": "MeloASR",
|
||||||
"version": "0.1.14",
|
"version": "0.1.15",
|
||||||
"private": true,
|
"private": true,
|
||||||
"author": "MeloASR contributors",
|
"author": "MeloASR contributors",
|
||||||
"description": "基于网页语音识别后端和 Fcitx5 的 Linux 实时语音输入工具",
|
"description": "基于网页语音识别后端和 Fcitx5 的 Linux 实时语音输入工具",
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
# Linux 分发打包
|
# Linux 分发打包
|
||||||
|
|
||||||
MeloASR 0.1.14 的系统包由两部分组成:
|
MeloASR 0.1.15 的系统包由两部分组成:
|
||||||
|
|
||||||
- Electron 应用安装到 `/opt/meloasr`,命令入口为 `/usr/bin/meloasr`;
|
- Electron 应用安装到 `/opt/meloasr`,命令入口为 `/usr/bin/meloasr`;
|
||||||
- Fcitx5 常驻 addon 由目标发行版中的 CMake/Fcitx5 开发包编译,并安装到该环境报告的 addon 目录。
|
- Fcitx5 常驻 addon 由目标发行版中的 CMake/Fcitx5 开发包编译,并安装到该环境报告的 addon 目录。
|
||||||
@@ -40,7 +40,7 @@ npm run build:linux:dir
|
|||||||
packaging/deb/build-deb.sh
|
packaging/deb/build-deb.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
产物位于 `packaging/out/meloasr_0.1.14_<arch>.deb`。依赖名称按 Debian/Ubuntu 系列填写,但尚未在各发行版完成安装验证。
|
产物位于 `packaging/out/meloasr_0.1.15_<arch>.deb`。依赖名称按 Debian/Ubuntu 系列填写,但尚未在各发行版完成安装验证。
|
||||||
|
|
||||||
## rpm
|
## rpm
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
pkgname=meloasr
|
pkgname=meloasr
|
||||||
pkgver=0.1.14
|
pkgver=0.1.15
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc='Web-backed voice input for Fcitx5'
|
pkgdesc='Web-backed voice input for Fcitx5'
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
@@ -7,11 +7,13 @@ url='https://github.com/Melorise/MeloASR'
|
|||||||
license=('MPL2')
|
license=('MPL2')
|
||||||
depends=('fcitx5' 'gtk3' 'nss' 'libxss' 'mesa' 'alsa-lib')
|
depends=('fcitx5' 'gtk3' 'nss' 'libxss' 'mesa' 'alsa-lib')
|
||||||
makedepends=('nodejs' 'npm' 'cmake' 'gcc' 'nlohmann-json')
|
makedepends=('nodejs' 'npm' 'cmake' 'gcc' 'nlohmann-json')
|
||||||
source=("${pkgname}-${pkgver}.tar.gz")
|
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz")
|
||||||
sha256sums=('SKIP')
|
sha256sums=('SKIP')
|
||||||
|
|
||||||
|
_source_dir="MeloASR-${pkgver}"
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
cd "${srcdir}/${_source_dir}"
|
||||||
npm ci
|
npm ci
|
||||||
npm run build:linux:dir
|
npm run build:linux:dir
|
||||||
cmake -S linux/fcitx5 -B build/fcitx5 \
|
cmake -S linux/fcitx5 -B build/fcitx5 \
|
||||||
@@ -21,13 +23,13 @@ build() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check() {
|
check() {
|
||||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
cd "${srcdir}/${_source_dir}"
|
||||||
npm test
|
npm test
|
||||||
ctest --test-dir build/fcitx5 --output-on-failure
|
ctest --test-dir build/fcitx5 --output-on-failure
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
cd "${srcdir}/${_source_dir}"
|
||||||
|
|
||||||
install -d "${pkgdir}/opt/meloasr"
|
install -d "${pkgdir}/opt/meloasr"
|
||||||
cp -a release/linux-unpacked/. "${pkgdir}/opt/meloasr/"
|
cp -a release/linux-unpacked/. "${pkgdir}/opt/meloasr/"
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
# Arch Linux 构建
|
# Arch Linux 构建
|
||||||
|
|
||||||
发布时把项目源码归档为 `meloasr-0.1.14.tar.gz`,与 `PKGBUILD` 放在同一目录,随后运行:
|
远程 Release 会附带当前版本的 `PKGBUILD`。下载后直接运行:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
curl --fail --location --remote-name \
|
||||||
|
https://github.com/Melorise/MeloASR/releases/download/v0.1.15/PKGBUILD
|
||||||
makepkg --syncdeps --cleanbuild
|
makepkg --syncdeps --cleanbuild
|
||||||
```
|
```
|
||||||
|
|
||||||
正式发布必须把 `source` 改为仓库的不可变 release URL,并以 `updpkgsums` 写入真实 SHA-256;当前源码包仍保留 `SKIP`,不能直接作为正式 Arch 发布源。
|
`PKGBUILD` 会根据 `pkgver` 直接下载 GitHub Release 标签对应的源码归档,无需手动下载、重命名或放置源码包。源码地址固定为 `https://github.com/Melorise/MeloASR/archive/refs/tags/v${pkgver}.tar.gz`,因此同一份 `PKGBUILD` 可以重复构建该版本。
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
<binary>meloasr</binary>
|
<binary>meloasr</binary>
|
||||||
</provides>
|
</provides>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="0.1.15" date="2026-08-26"/>
|
||||||
<release version="0.1.14" date="2026-08-26"/>
|
<release version="0.1.14" date="2026-08-26"/>
|
||||||
<release version="0.1.13" date="2026-08-24"/>
|
<release version="0.1.13" date="2026-08-24"/>
|
||||||
<release version="0.1.12" date="2026-08-23"/>
|
<release version="0.1.12" date="2026-08-23"/>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
|
project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||||
version="${MELOASR_VERSION:-0.1.14}"
|
version="${MELOASR_VERSION:-0.1.15}"
|
||||||
arch="${MELOASR_DEB_ARCH:-$(dpkg --print-architecture)}"
|
arch="${MELOASR_DEB_ARCH:-$(dpkg --print-architecture)}"
|
||||||
app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}"
|
app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}"
|
||||||
work_dir="${project_dir}/packaging/out/deb-root"
|
work_dir="${project_dir}/packaging/out/deb-root"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
|
project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||||
version="${MELOASR_VERSION:-0.1.14}"
|
version="${MELOASR_VERSION:-0.1.15}"
|
||||||
app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}"
|
app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}"
|
||||||
stage_dir="${project_dir}/packaging/out/rpm-root"
|
stage_dir="${project_dir}/packaging/out/rpm-root"
|
||||||
top_dir="${project_dir}/packaging/out/rpmbuild"
|
top_dir="${project_dir}/packaging/out/rpmbuild"
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ tar -C %{buildroot} -xzf %{SOURCE0}
|
|||||||
/etc/xdg/autostart/meloasr.desktop
|
/etc/xdg/autostart/meloasr.desktop
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 26 2026 MeloASR contributors - 0.1.15-1
|
||||||
|
- Download the Arch package source directly from the matching GitHub release tag.
|
||||||
|
|
||||||
* Wed Aug 26 2026 MeloASR contributors - 0.1.14-1
|
* Wed Aug 26 2026 MeloASR contributors - 0.1.14-1
|
||||||
- Cache the active web editor for the duration of each speech session.
|
- Cache the active web editor for the duration of each speech session.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user