refactor(deploy): deb control 与 postinst/prerm 改用 hologramagent 包名与 /var/lib/hologram

四个 control:Package: homeagent-{client,server,full,toolchain} →
hologramagent-*,Maintainer/Homepage 品牌名,toolchain 的 SDK 安装路径
/usr/lib/homeagent/sdk → /usr/lib/hologram/sdk。

postinst/prerm:SERVICE_NAME="hologramagent"。
这一行是「改一半就静默失效」的典型:
  systemctl enable/start/stop 全部带 2>/dev/null || true,
  单元名不对时**不报错**——装完既不 enable 也不 start,用户以为装好了。
现在 postinst 的 DATA_DIR/SETUP_SH 也一起指向 /var/lib/hologram、
/usr/lib/hologram/setup.sh,否则 setup.sh 会在旧目录里初始化凭据,
而内核按新单元从新目录读 —— 表现为「装完登录不上,credentials.txt 找不到」。

setup.sh 同步:HOLOGRAM_DATA / HOLOGRAM_API_KEY 前缀、模型目录
/usr/lib/hologram/models/...。与 postinst 传的变量名必须一致,
否则 DATA_DIR 回落到默认值、凭据写到另一个目录。

Homepage/Documentation 用 trueagent/HologramAgent(与原值同源,只换品牌词);
仓库 owner 与地址本身归批 4,这里不动。
This commit is contained in:
JianFeeeee
2026-10-21 13:21:00 +08:00
parent 3748d01094
commit 503579ae18
7 changed files with 41 additions and 41 deletions

View File

@ -1,10 +1,10 @@
#!/bin/sh
set -e
SERVICE_NAME="homeagent"
SERVICE_NAME="hologramagent"
HOMED_BIN="/usr/bin/homed"
DATA_DIR="/var/lib/homeagent"
SETUP_SH="/usr/lib/homeagent/setup.sh"
DATA_DIR="/var/lib/hologram"
SETUP_SH="/usr/lib/hologram/setup.sh"
# unit 由本包装到 /etc/systemd/system/,而旧 postinst 只查
# /lib/systemd/system/(merged-usr 下等于 /usr/lib/systemd/system,那里没有
@ -34,9 +34,9 @@ case "$1" in
# credentials.txt、没进数据库),用户拿它登录必然失败,安装却一声不响。
# 失败必须看得见,并给出可直接执行的补救命令。
if [ -x "$SETUP_SH" ]; then
if ! HOMEAGENT_DATA="$DATA_DIR" "$SETUP_SH"; then
echo "E: homeagent 初始化失败——凭据可能未写入 config.db。" >&2
echo "E: 请手动重试:HOMEAGENT_DATA=$DATA_DIR $SETUP_SH" >&2
if ! HOLOGRAM_DATA="$DATA_DIR" "$SETUP_SH"; then
echo "E: hologramagent 初始化失败——凭据可能未写入 config.db。" >&2
echo "E: 请手动重试:HOLOGRAM_DATA=$DATA_DIR $SETUP_SH" >&2
fi
else
echo "W: 未找到 $SETUP_SH,跳过凭据初始化。" >&2
@ -51,10 +51,10 @@ case "$1" in
# (仅 enable 不会让已在运行的进程换用新文件)。
if [ -z "${2:-}" ]; then
systemctl start "$SERVICE_NAME" 2>/dev/null || \
echo "W: homeagent 服务未能启动,请检查:systemctl status $SERVICE_NAME" >&2
echo "W: hologramagent 服务未能启动,请检查:systemctl status $SERVICE_NAME" >&2
else
systemctl restart "$SERVICE_NAME" 2>/dev/null || \
echo "W: homeagent 服务未能重启,请检查:systemctl status $SERVICE_NAME" >&2
echo "W: hologramagent 服务未能重启,请检查:systemctl status $SERVICE_NAME" >&2
fi
else
echo "W: 未找到 ${SERVICE_NAME}.service,未启用服务。" >&2