mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-11-01 14:57:38 +00:00
fix(packaging): tar 包漏拷 depgraph.bin —— 装完 homed 一启动就死
内核启动时比对「磁盘上的启动依赖图 digest」与「二进制内嵌 digest」, 用于拦住「图文件完好但描述的是旧代码」这类静默顺序错(Makefile build 段注释)。 build_tar 只拷了二进制,没拷 $BUILD_DIR/depgraph.bin ⇒ 装 tar 包的机器 homed 读不到图,直接拒绝启动(退出码 1)。 修法:与 homed 同目录拷 depgraph.bin(/usr/bin/depgraph.bin); 缺图时**显式报错并 return 1**,而不是打出一个注定起不来的包 —— 静默产出坏包比打包失败更难查。
This commit is contained in:
@ -728,6 +728,18 @@ build_tar() {
|
||||
[ -f "$src" ] && cp "$src" "$staging/usr/bin/$bin"
|
||||
done
|
||||
|
||||
# ★ 启动依赖图必须与 homed 同目录。内核启动时比对「磁盘图 digest」与
|
||||
# 「二进制内嵌 digest」,读不到图 ⇒ 生产构建直接拒绝启动(退出码 1)。
|
||||
# 此前 build_tar 漏了这一条:装 tar 包的机器 homed 一启动就死。
|
||||
if [ -f "$BUILD_DIR/depgraph.bin" ]; then
|
||||
cp "$BUILD_DIR/depgraph.bin" "$staging/usr/bin/depgraph.bin"
|
||||
chmod 644 "$staging/usr/bin/depgraph.bin"
|
||||
else
|
||||
echo "ERROR: 缺少 $BUILD_DIR/depgraph.bin —— 内核与依赖图必须来自同一次构建。" >&2
|
||||
echo " 先跑 make build(它会生成图并注入 digest),再打包。" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# setup script
|
||||
local setup_src="$PROJECT_ROOT/deploy/packaging/linux/setup.sh"
|
||||
[ -f "$setup_src" ] && cp "$setup_src" "$staging/usr/lib/hologram/setup.sh"
|
||||
|
||||
Reference in New Issue
Block a user