docs(repo): 公开 SDK 仓 MeowOS-SDK 拆仓说明 — README 加链接 + scripts/publish_sdk.sh(subtree split 命令 + 增量同步流程)
This commit is contained in:
1 parent
f0b73e119d
commit
8e54b2c150
2 files changed
+73
No files matched your search
@@ -6,6 +6,8 @@
|
||||
> 版本:**M2.96(0.7.91)**(M2.69→M2.96 全链路自刷验收:控件库/主界面 MD3 双布局/M3 导航栈/M5 通知跳转/媒体会话/Now Playing/SDK nav+media 封装/字库启动竞态修复**/M2.84-88**:installed 图标修复+残帧pan加固/物理键EVIOCGKEY双源/签名鉴权 2B/meow_route 音频路由/amsd 二期(picker 契约)/流媒体客户端二期(封面·歌词后台·大歌单分页)/MeowPanel 实时画面+遥控+通知实时化/中文拼音 IME**/M2.89**:开机选单抢屏回归修复+watchdog SIGUSR1 不误杀框架 App+amsd 失联修复+顶部下滑手势分流**/M2.90**:**meow_audiod 独占音频守护**(AUDIOD_DESIGN,meow_route 并入退役)+MIUIx 顶级主题+流媒体客户端文案中文化+面板字体库 tar.gz 导入导出**/M2.91-96**:audiod 开机武装 hbc3000 FPGA(根治 PCM 启动内核死锁)+svc_power 充电态权威链(mp2731)+amsd 注册自愈(`am rescan`)/Now Playing 死循环修复+状态栏充电闪电+插孔消抖(三路)/audiod 长流护栏+ALSA 几何收窄 period=1024×4(根治长流停摆)+watchdog 音量存盘毁设置修复/音量反转四路统一(CS43198 寄存器=衰减量,`dac=255-pct*255/100`)+炸耳安全修复(dac_vol_mute 写 255 真静音))。版本号单点 = 板上 `/etc/meowos_version`,见「构建」。本仓库是一个**自带 SDK、包管理、媒体会话、独占音频服务、网页面板、流媒体客户端的完整第三方系统**。
|
||||
>
|
||||
> 许可证:Apache-2.0(见 [`LICENSE`](LICENSE))。本仓库为非官方第三方项目。
|
||||
>
|
||||
> **公开 SDK 仓(面向第三方开发者)**:`ssh://git@git.yeij.top:2222/AskaEth/MeowOS-SDK.git`(MIT;只含 `sdk/`(meow_ui)+ `examples/hello/` + `docs/`,自包含可构建,不含系统组件/密钥)。由本仓经 `git subtree split` 拆出,增量同步见 `scripts/publish_sdk.sh`。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
# publish_sdk.sh — 把主仓的公开 SDK 内容增量同步到公开 SDK 仓 MeowOS-SDK。
|
||||
#
|
||||
# ============ 背景 ============
|
||||
# 公开仓:ssh://git@git.yeij.top:2222/AskaEth/MeowOS-SDK.git(**MIT**;面向第三方开发者)。
|
||||
# 仅含公开内容:sdk/(meow_ui)+ examples/hello/ + docs/ + README + LICENSE + .gitignore;
|
||||
# 不含主仓系统组件(launcher/amsd/audiod/svc_*)、固件、签名工具、密钥。
|
||||
#
|
||||
# 由本仓经 git subtree split 拆出(顶层布局与主仓 patch_v2 不同):
|
||||
# sdk/ ← 本仓 patch_v2/sdk/
|
||||
# examples/hello/ ← 本仓 patch_v2/hello_app/
|
||||
# 顶层 docs/ + README + LICENSE + .gitignore 为手工维护(初始拆仓与后续改动见下)。
|
||||
#
|
||||
# ⚠️ 差异声明:公开仓内的 sdk/build_sdk.sh、examples/hello/build_hello.sh 已改**自包含**
|
||||
# (meow_ipc.h / meow_font.h / meow_notif.h / meow_font.c 均 vendored 进 sdk/,不依赖
|
||||
# 本仓 meow_launcherd/;工具链默认 $HOME/Project/R3ProII/.tools/zig-mipsel-cc,可用
|
||||
# MEOW_CC / MEOW_SYSROOT 覆盖)。故**增量同步只推 sdk/ 与 examples/hello/ 的源码子树**,
|
||||
# build_sdk.sh / build_hello.sh 的本地改动需单独留意(若公开仓改过,pull 会合并冲突)。
|
||||
|
||||
# ============ 初始拆仓(已执行一次,记录备查) ============
|
||||
# # 主仓侧:subtree split 出两个分支
|
||||
# git subtree split --prefix=patch_v2/sdk -b pub/sdk
|
||||
# git subtree split --prefix=patch_v2/hello_app -b pub/hello
|
||||
# # 公开仓侧(~git init -b main,提交 README/LICENSE/.gitignore/docs 作根,然后):
|
||||
# git fetch <主仓> +refs/heads/pub/sdk:refs/heads/pub/sdk +refs/heads/pub/hello:refs/heads/pub/hello
|
||||
# git subtree add --prefix=sdk pub/sdk
|
||||
# git subtree add --prefix=examples/hello pub/hello
|
||||
# # 之后在公开仓做适配 commit:剔除构建产物/宿主测试二进制、vendored 依赖、改写脚本。
|
||||
|
||||
# ============ 增量同步(主仓 sdk/ 更新后再推) ============
|
||||
# 用法:先保证主仓 patch_v2/sdk 的改动已 commit,然后:
|
||||
# bash scripts/publish_sdk.sh [--push]
|
||||
# 脚本会在主仓重跑 split,再进公开仓 subtree pull 两个子树;加 --push 则把公开仓 push 到 Gitea。
|
||||
# 前提:Gitea 已建 public 仓 AskaEth/MeowOS-SDK(未建:push-to-create 默认关闭,需手动建)。
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
MAIN_REPO="${MAIN_REPO:-$(cd "$(dirname "$0")/.." && pwd)}" # 主仓(本仓)
|
||||
SDK_REPO="${SDK_REPO:-$HOME/Project/MeowOS-SDK}" # 公开仓本地路径
|
||||
UPSTREAM="${UPSTREAM:-upstream}" # 公开仓里指向「主仓」的 remote 名(非 origin)
|
||||
SDK_URL="ssh://git@git.yeij.top:2222/AskaEth/MeowOS-SDK.git" # 公开仓远端
|
||||
DO_PUSH=0; [ "${1:-}" = "--push" ] && DO_PUSH=1
|
||||
|
||||
[ -d "$SDK_REPO" ] || { echo "❌ 公开仓不存在: $SDK_REPO"; echo " 请先 Gitea 建 $SDK_URL 并 git clone 到 $SDK_REPO"; exit 1; }
|
||||
|
||||
# 0) 公开仓配 upstream(指向主仓,供 subtree pull 取 split 分支)
|
||||
cd "$SDK_REPO"
|
||||
if ! git remote get-url "$UPSTREAM" >/dev/null 2>&1; then
|
||||
git remote add "$UPSTREAM" "$MAIN_REPO"
|
||||
echo " ↑ 公开仓已加 remote $UPSTREAM = $MAIN_REPO"
|
||||
fi
|
||||
|
||||
# 1) 主仓侧:重新 subtree split(产出最新 pub/sdk、pub/hello)
|
||||
echo "== [主仓] subtree split =="
|
||||
( cd "$MAIN_REPO" && \
|
||||
git subtree split --prefix=patch_v2/sdk -b pub/sdk && \
|
||||
git subtree split --prefix=patch_v2/hello_app -b pub/hello )
|
||||
|
||||
# 2) 公开仓侧:subtree pull 两个子树(把主仓新提交合进 sdk/、examples/hello/)
|
||||
echo "== [公开仓] subtree pull sdk =="
|
||||
git subtree pull --prefix=sdk "$UPSTREAM" pub/sdk
|
||||
echo "== [公开仓] subtree pull examples/hello =="
|
||||
git subtree pull --prefix=examples/hello "$UPSTREAM" pub/hello
|
||||
|
||||
echo "== 完成。git status 如下,请人工检查是否一致到期待内容: =="
|
||||
git status --short
|
||||
if [ "$DO_PUSH" = 1 ]; then
|
||||
echo "== push 到 $SDK_URL =="
|
||||
git push origin main
|
||||
fi
|
||||
echo "== 若 docs/README/LICENSE 也要同步:手动拷贝主仓 docs/APP_DEV_GUIDE.md 与 MEOW_APP_SDK.md 的**公开改写版**并 commit(公开仓内这两份已改写为自包含/注明主仓内幕)。=="
|
||||
Reference in new issue
Block a user