# mips-repo/mpk/ — MeowOS `.mpk` 软件包仓库 本目录存放 MeowAPPs 的成品**`.mpk`** 软件包(应用分发单元),供 `nyai` 安装。规范见 `APPS.md 附录 §3(.mpk) / §5(nyai)`,此处为速览与示例。 目前仓库为**空**(仅说明);首个包入仓后形如: ``` mpk/ README.md # 本文件 .mpk # 成品包(tar.gz) Packages # 可选:nyai index mpk/ 生成的索引 ``` ## `.mpk` 规范 - **包名 `` = 文件名茎 = `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_`,触发数据 init 建 `MeowData/<包名>/{data,cache}`)。 - **导出**:`nyai export [out.mpk]`(打包 `MeowAPPs//`,不含 data/cache)。 - **索引**:`nyai index ` 为目录生成 `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`)。