diff --git a/patch_v2/meow_audiod/build_audiod.sh b/patch_v2/meow_audiod/build_audiod.sh index 3f96e46..04dc58c 100755 --- a/patch_v2/meow_audiod/build_audiod.sh +++ b/patch_v2/meow_audiod/build_audiod.sh @@ -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 指向
/.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