全屏滑条统一路径+对比色(112/115) + 字体索引+查列表+丢失降级(113) + 文档刷新(114) + svcd CLI文档+mips-repo拆bins/mpk(116)

This commit is contained in:
MeowOS Dev committed 2026-08-30 14:14:30 +08:00
1 parent b75ecce5de
commit 19a001f007
22 files changed
+666 -129

No files matched your search

+49
View File
@@ -0,0 +1,49 @@
# mips-repo/mpk/ — MeowOS `.mpk` 软件包仓库
本目录存放 MeowAPPs 的成品**`.mpk`** 软件包(应用分发单元),供 `nyai` 安装。规范见
`APPS.md 附录 §3(.mpk) / §5(nyai)`,此处为速览与示例。
目前仓库为**空**(仅说明);首个包入仓后形如:
```
mpk/
README.md # 本文件
<pkg>.mpk # 成品包(tar.gz)
Packages # 可选:nyai index mpk/ 生成的索引
```
## `.mpk` 规范
- **包名 `<pkg>` = 文件名茎 = `app.json` 的 `package`**(如 `os.meow.hello` → `os.meow.hello.mpk`)。
- **格式**:`.mpk` = **tar.gz**,含 `app.json` + `meow` 二进制 + 资源,**不含 `data`/`cache`**
(运行时按设备生成)。打包目录为 `MeowAPPs/<包名>/`(剔除 data/cache 后打包)。
- **关键字段**(在 `app.json` 内,`package` 必填):`package`/`name`/`version`/`exec`/
`routes`/`services`/`depends`/`description` 等;`size`/`sha256` 由索引生成。
- **安装**:`nyai install <包或文件.mpk>`(读 `.mpk` 内 `app.json`,校验包名/哈希,解压到
`MeowAPPs/<包名>/`,同名先备份 `.bak_<pid>`,触发数据 init 建 `MeowData/<包名>/{data,cache}`)。
- **导出**:`nyai export <pkg> [out.mpk]`(打包 `MeowAPPs/<pkg>/`,不含 data/cache)。
- **索引**:`nyai index <dir>` 为目录生成 `Packages`(每行 `Package/Version/Filename/Size/SHA256/
Depends/Description`,空行分隔记录),供经源(`sources.list`)安装解析依赖。
## 示例(结构示意)
以 `os.meow.hello` 为例,打包自 `MeowAPPs/os.meow.hello/`:
```bash
# 打包导出
nyai export os.meow.hello # → os.meow.hello.mpk
# 或手动:剔除 data/cache 后 tar.gz(与 launcher 同 gzip -dc | tar -x 管道语义)
cd MeowAPPs/os.meow.hello && tar czf os.meow.hello.mpk app.json meow assets/
# 本地源目录 + 索引生成
mkdir -p /usr/data/mnt/sd_0/MeowOS/opt/repo
cp os.meow.hello.mpk /usr/data/mnt/sd_0/MeowOS/opt/repo/
nyai index /usr/data/mnt/sd_0/MeowOS/opt/repo # 生成 Packages
# 在设备上安装(M2.12+ 可直呼 nyai;更早固件用绝对路径)
nyai install os.meow.hello # 或 nyai install os.meow.hello.mpk
```
> 注:`nyai` 部署于卡 `MeowOS/opt/bin/nyai`(M2.12+ 由 `meow_card_path.sh` 前插 PATH 可直呼)。
> 卡上源配置 `MeowOS/opt/nyai/sources.list`(无此文件默认本地源 `MeowOS/opt/repo`)。