build(ldflags): 版本注入串同步到新 module 路径(Makefile:62/318、build.sh:69/230/240)

批 1,不含 SDK 仓与目录改名。

不同步的后果:go build 全绿但 -X 对未知路径静默忽略,
homed --version 的 Version/Commit/BuildTime 回落成默认值。

- Makefile:62    -X .../internal/meta.{Version,Commit,BuildTime}
- Makefile:318   -X .../internal/kernelboot.EmbeddedGraphHash
- build.sh:69    同上三个 meta 变量
- build.sh:230   -X .../internal/security.embeddedKeyHex
- build.sh:240   -X .../internal/kernelboot.EmbeddedGraphHash
This commit is contained in:
JianFeeeee
2026-10-21 12:17:32 +08:00
parent 4e70b8d5d8
commit db6753ee2b
2 changed files with 5 additions and 5 deletions

View File

@ -59,7 +59,7 @@ VERSION := $(META_VERSION)dev$(if $(filter --dirty,$(shell git status --porcelai
endif
COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
BUILD_TIME ?= $(shell date -u '+%Y-%m-%dT%H:%M:%SZ')
LDFLAGS = -X github.com/JianFeeeee/HomeAgent/internal/meta.Version=$(VERSION) -X github.com/JianFeeeee/HomeAgent/internal/meta.Commit=$(COMMIT) -X github.com/JianFeeeee/HomeAgent/internal/meta.BuildTime=$(BUILD_TIME)
LDFLAGS = -X github.com/JianFeeeee/HologramAgent/internal/meta.Version=$(VERSION) -X github.com/JianFeeeee/HologramAgent/internal/meta.Commit=$(COMMIT) -X github.com/JianFeeeee/HologramAgent/internal/meta.BuildTime=$(BUILD_TIME)
all: build build-cli
@ -315,7 +315,7 @@ build:
$(BUILD_DIR)/homed-depgraph -print && \
$(BUILD_DIR)/homed-depgraph -out $(BUILD_DIR)/$(GRAPH_FILE) && \
echo "已注入启动依赖图 hash: $$GRAPH_HASH" ; \
CGO_ENABLED=1 $(GO) build $(TAG_ARGS) -trimpath -installsuffix dynlink -ldflags "$(LDFLAGS) -X github.com/JianFeeeee/HomeAgent/internal/kernelboot.EmbeddedGraphHash=$$GRAPH_HASH" -o $(BUILD_DIR)/$(BINARY) ./cmd/homed/
CGO_ENABLED=1 $(GO) build $(TAG_ARGS) -trimpath -installsuffix dynlink -ldflags "$(LDFLAGS) -X github.com/JianFeeeee/HologramAgent/internal/kernelboot.EmbeddedGraphHash=$$GRAPH_HASH" -o $(BUILD_DIR)/$(BINARY) ./cmd/homed/
@echo "Built: $(BUILD_DIR)/$(BINARY) ($(VERSION), tags='$(HOMED_TAGS)')"
@go version -m $(BUILD_DIR)/$(BINARY) | grep -q 'onnxruntime' \
|| echo "WARN: 本次构建不含 onnxruntime,本地向量空间不可用(HOMED_TAGS= 显式关掉时才符合预期)"

View File

@ -66,7 +66,7 @@ GO="${GO:-$(command -v go 2>/dev/null || echo "go")}"
# 实测(2026-10-17):用旧路径构建 waiter,`--version` 输出
# `waiter 1.4.0 (commit unknown, built unknown)`
# 而正确路径得到注入的值。
LDFLAGS="-X github.com/JianFeeeee/HomeAgent/internal/meta.Version=${VERSION} -X github.com/JianFeeeee/HomeAgent/internal/meta.Commit=${COMMIT} -X github.com/JianFeeeee/HomeAgent/internal/meta.BuildTime=${BUILD_TIME}"
LDFLAGS="-X github.com/JianFeeeee/HologramAgent/internal/meta.Version=${VERSION} -X github.com/JianFeeeee/HologramAgent/internal/meta.Commit=${COMMIT} -X github.com/JianFeeeee/HologramAgent/internal/meta.BuildTime=${BUILD_TIME}"
# 版本与提交的**权威来源**是上面注入的 meta.Version / meta.Commit,不是 Go 自带的
# VCS 戳。后者不进 build cache key(Go 文档明确说明 VCS 变化不会触发重建),
@ -227,7 +227,7 @@ build_homed() {
case "$_embedkey" in
????????????????????????????????????????????????????????????????)
# 64 字符:形状像 32 字节 hex
_keyflag=" -X github.com/JianFeeeee/HomeAgent/internal/security.embeddedKeyHex=$_embedkey"
_keyflag=" -X github.com/JianFeeeee/HologramAgent/internal/security.embeddedKeyHex=$_embedkey"
echo " [security] 内嵌主密钥已注入(64 位 hex)" ;;
*)
echo " error: HA_EMBEDDED_KEY_HEX 必须是 64 位 hex(当前 ${#_embedkey} 字符)" >&2
@ -237,7 +237,7 @@ build_homed() {
CGO_ENABLED=1 CC="$_cc" "$GO" build -buildvcs=false -trimpath -installsuffix dynlink \
${_tagargs[@]+"${_tagargs[@]}"} \
-ldflags "$LDFLAGS -X github.com/JianFeeeee/HomeAgent/internal/kernelboot.EmbeddedGraphHash=$_graph_hash$_keyflag" -o "$out" ./cmd/homed/
-ldflags "$LDFLAGS -X github.com/JianFeeeee/HologramAgent/internal/kernelboot.EmbeddedGraphHash=$_graph_hash$_keyflag" -o "$out" ./cmd/homed/
echo " OK ($(file "$out" | sed 's/.*: //') | $(du -h "$out" | cut -f1))"
}