fix(audiod): build_audiod.sh 解 rebase 冲突后补主 checkout 回退(worktree 里也能找到固件树)
rebase 到 main(ca042aa,M43 已合入)时 build_audiod.sh 冲突,解决原则:M43 的 cli 目标 time32 接入与 M50 的路径环境变量化**两者都保留**,守护目标仍不链 time32: cli : "$CC" $INC ... -static -DMEOW_TIME32_LIBC_OVERRIDES meow_audio.c ../sdk/meow_time32.c audiod : "$ZIG" cc --target=mipsel-linux-gnueabihf.2.22 ... meow_audiod.c bt_dev.c -lpthread -L"$LIBBT" -lasound (M43 的守护例外注释按 main 的新措辞保留;LIBBT/ASOUND_SRC 环境变量覆盖与 host 链接兜底保留。) 解冲突时发现一个实际问题:`devdocs/fw-baseline/...` 与 `fw_apps/build/...` 这两条 ASOUND_SRC 候选**都没有入库**,在 git worktree 里运行时 REPO=worktree 根,两条都不存在 → 守护目标 直接 exit 1(本仓库正是按 worktree 并行开发的)。补一条回退:用 `git rev-parse --git-common-dir` 的父目录找到**主 checkout**(worktree 下即主仓根), 把主 checkout 里的 devdocs/ 与 fw_apps/ 也列为候选;普通 checkout 下 MAIN==REPO,行为不变。 自证(解完冲突、真实跑本脚本):meow_audiod 68604B/md5 9f58b219…(glibc-dynamic, NEEDED=libasound.so.2/libc.so.6/libpthread.so.0,interpreter /lib/ld.so.1); meow_audio 88888B/md5 3909c8d2…(static,含 S24/S32,4263=3/4403=0/16B-layout=OK); test_time32_abi.sh --builds ALL PASS(build meow_audio src=yes macro=yes)。
This commit is contained in:
1 parent
6e67c74fe6
commit
234b4d13b9
1 file changed
+6
-1
@@ -84,11 +84,16 @@ fi
|
||||
# 链接源 libbt/libasound.so.2.0.0(设备固件 libasound.so.2 副本);缺失时从固件树自拷贝(idempotent)。
|
||||
# M50:LIBBT / ASOUND_SRC 可被环境变量覆盖;ASOUND_SRC 候选按「显式 → 历史解包树 → 仓内固件基线」
|
||||
# 顺序取第一个存在的(旧值 $ROOT/hiby_os_crack/... 在多数 checkout 里不存在,set -e 下会直接卡住构建)。
|
||||
# MAIN = 主 checkout 根(在 git worktree 里运行时,devdocs/ 与 fw_apps/ 这类未入库的固件树
|
||||
# 只在主 checkout 里;git-common-dir 指向 <main>/.git,其父目录即主 checkout)。普通 checkout 下 == REPO。
|
||||
MAIN="$(cd "$(git rev-parse --git-common-dir 2>/dev/null || echo .)/.." 2>/dev/null && pwd || true)"
|
||||
LIBBT="${LIBBT:-libbt}"
|
||||
if [ -z "$ASOUND_SRC" ]; then
|
||||
for c in "$ROOT/hiby_os_crack/r3proii/squashfs-root-example/usr/lib/libasound.so.2.0.0" \
|
||||
"$REPO/devdocs/fw-baseline/squashfs-root/usr/lib/libasound.so.2.0.0" \
|
||||
"$REPO/fw_apps/build/squashfs-root/usr/lib/libasound.so.2.0.0"; do
|
||||
"$REPO/fw_apps/build/squashfs-root/usr/lib/libasound.so.2.0.0" \
|
||||
${MAIN:+"$MAIN/devdocs/fw-baseline/squashfs-root/usr/lib/libasound.so.2.0.0"} \
|
||||
${MAIN:+"$MAIN/fw_apps/build/squashfs-root/usr/lib/libasound.so.2.0.0"}; do
|
||||
[ -f "$c" ] && { ASOUND_SRC="$c"; break; }
|
||||
done
|
||||
fi
|
||||
|
||||
Reference in new issue
Block a user