From db6753ee2b93228b2990c0d5a38bc3a60b604d7b Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Wed, 21 Oct 2026 12:17:32 +0800 Subject: [PATCH] =?UTF-8?q?build(ldflags):=20=E7=89=88=E6=9C=AC=E6=B3=A8?= =?UTF-8?q?=E5=85=A5=E4=B8=B2=E5=90=8C=E6=AD=A5=E5=88=B0=E6=96=B0=20module?= =?UTF-8?q?=20=E8=B7=AF=E5=BE=84=EF=BC=88Makefile:62/318=E3=80=81build.sh:?= =?UTF-8?q?69/230/240=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 批 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 --- Makefile | 4 ++-- deploy/packaging/build.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 9ac13b2e..4df961f2 100644 --- a/Makefile +++ b/Makefile @@ -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= 显式关掉时才符合预期)" diff --git a/deploy/packaging/build.sh b/deploy/packaging/build.sh index 41f5f3df..bedf9c2b 100644 --- a/deploy/packaging/build.sh +++ b/deploy/packaging/build.sh @@ -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))" }