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/:
# 打包导出
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)。