fix(build): M56 r1 评审三条 P2 + 一条观察(脚本权限/可复现口径注释/watchdog 参数去内联+入门禁/REPACK 显式失败)

- P2-1 repack_repro.sh 提交为 100755(scripts/build/ 下唯一非 755 的 .sh,而头注释就让人直接执行)
- P2-2 注释与事实对齐:写明 squashfs/分片/ota_update.in 可复现,但 .upt 仍有 93 字节
  Rock Ridge TF backup date 差异(genisoimage 无覆盖开关),验收口径仍是 体积+unpack 0 diff+进包 md5
- P2-3 watchdog 参数不再内联复制:build_watchdog.sh 认 ZIGCC(照 build_netmgrd.sh 口径),
  rebuild_binaries.sh 改成调它;meow_watchdog 加入 test_time32_abi.sh 的 BUILD_TARGETS(11 个)。
  改后重编仍逐字节 25f769509a43d0f66287efd456c64281 / 100116,与内联那版一致
- 观察1:REPACK 显式指定但不存在 -> exit 1(此前会静默回退到不可复现的旧 repack.sh)
This commit is contained in:
tower committed 2026-11-12 08:44:27 +08:00
1 parent d34406ac22
commit 28fbc6094a
5 files changed
+36 -16

No files matched your search

+13 -4
View File
@@ -173,12 +173,21 @@ fi
echo "==> repack"
# 优先用可复现打包器(scripts/build/repack_repro.sh:mksquashfs -repro-time +
# genisoimage -creation-date + mtime 归一化,同一输入两次打包逐字节相同)。
# 它不在时退回历史 repack.sh(产物布局相同,只是时间戳随墙钟)。
# genisoimage -creation-date + mtime 归一化)。可复现口径**到 squashfs/元数据为止**:
# rootfs.squashfs / 分片 / ota_update.in 两次打包逐字节相同;`.upt` 本身仍差约 93 字节
# (genisoimage 写的 Rock Ridge TF backup date,无覆盖开关),故 .upt 验收仍是
# 「体积 + unpack 0 diff + 进包 md5」。
# 未设 REPACK 时才回退历史 repack.sh(产物布局相同,时间戳全随墙钟);
# **显式指定了却不存在 → 直接失败**,免得「以为用了可复现打包器、其实悄悄退回旧路径」。
# 两者都按 bash 显式执行:repack.sh 的 #!/usr/bin/env bash 在 Android 上无 /usr/bin/env,
# 且经 su 跑时 termux-exec 的 LD_PRELOAD 被丢弃 → bad interpreter(M13 实测)。
REPACK="${REPACK:-$ROOT/scripts/build/repack_repro.sh}"
[ -f "$REPACK" ] || REPACK="$ROOT/hiby_os_crack/scripts/repack.sh"
if [ -n "${REPACK:-}" ]; then
[ -f "$REPACK" ] || { echo "!!! REPACK 显式指定但不存在: $REPACK"; exit 1; }
else
REPACK="$ROOT/scripts/build/repack_repro.sh"
[ -f "$REPACK" ] || REPACK="$ROOT/hiby_os_crack/scripts/repack.sh"
fi
echo " repack = $REPACK"
# 内核镜像(unpacked_v14/xImage)未入库:干净 checkout / git worktree 里没有它,
# 用 XIMAGE 指到主 checkout 的那份(普通 checkout 下默认值即可)。
XIMAGE="${XIMAGE:-$ROOT/unpacked_v14/xImage}"