Files
MeowOS-For-R3P2/mips-repo/mpk

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)。