From f13ca94e10eaeff3c7e9d5005cf455a457d4fdb7 Mon Sep 17 00:00:00 2001 From: "James O. D. Hunt" Date: Tue, 15 Sep 2020 17:02:00 +0100 Subject: [PATCH] agent: Fix setting of version Fix the bug where the version string generated by the `Makefile` was not being passed to the agent, resulting in a "unknown" version. Fixes: #725. Signed-off-by: James O. D. Hunt --- src/agent/Makefile | 9 +++++++-- src/agent/src/generated.rs.in | 10 ++++++++++ src/agent/src/main.rs | 10 +++------- 3 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 src/agent/src/generated.rs.in diff --git a/src/agent/Makefile b/src/agent/Makefile index ef35cdccf4..06ce29b5e8 100644 --- a/src/agent/Makefile +++ b/src/agent/Makefile @@ -57,12 +57,16 @@ INIT := no # Path to systemd unit directory if installed as not init. UNIT_DIR := /usr/lib/systemd/system +GENERATED_CODE = src/generated.rs + GENERATED_FILES := +GENERATED_FILES += $(GENERATED_CODE) + ifeq ($(INIT),no) # Unit file to start kata agent in systemd systems UNIT_FILES = kata-agent.service - GENERATED_FILES := $(UNIT_FILES) + GENERATED_FILES += $(UNIT_FILES) # Target to be reached in systemd services UNIT_FILES += kata-containers.target endif @@ -86,7 +90,7 @@ endef default: $(TARGET) show-header -$(TARGET): $(TARGET_PATH) +$(TARGET): $(GENERATED_CODE) $(TARGET_PATH) $(TARGET_PATH): $(SOURCES) | show-summary @cargo build --target $(TRIPLE) --$(BUILD_TYPE) @@ -101,6 +105,7 @@ $(GENERATED_FILES): %: %.in @sed \ -e 's|[@]bindir[@]|$(BINDIR)|g' \ -e 's|[@]kata-agent[@]|$(TARGET)|g' \ + -e 's|[@]VERSION_COMMIT[@]|$(VERSION_COMMIT)|g' \ "$<" > "$@" install: build-service diff --git a/src/agent/src/generated.rs.in b/src/agent/src/generated.rs.in new file mode 100644 index 0000000000..bcf9a13443 --- /dev/null +++ b/src/agent/src/generated.rs.in @@ -0,0 +1,10 @@ +// Copyright (c) 2020 Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 +// + +// +// WARNING: This file is auto-generated - DO NOT EDIT! +// + +pub const VERSION_COMMIT: &str = "@VERSION_COMMIT@"; diff --git a/src/agent/src/main.rs b/src/agent/src/main.rs index 01fd71f7b7..454919ec16 100644 --- a/src/agent/src/main.rs +++ b/src/agent/src/main.rs @@ -52,6 +52,7 @@ use unistd::Pid; mod config; mod device; +mod generated; mod linux_abi; mod metrics; mod mount; @@ -83,13 +84,8 @@ lazy_static! { } fn announce(logger: &Logger, config: &agentConfig) { - let commit = match env::var("VERSION_COMMIT") { - Ok(s) => s, - Err(_) => String::from(""), - }; - info!(logger, "announce"; - "agent-commit" => commit.as_str(), + "agent-commit" => generated::VERSION_COMMIT, // Avoid any possibility of confusion with the old agent "agent-type" => "rust", @@ -109,7 +105,7 @@ fn main() -> Result<()> { NAME, version::AGENT_VERSION, version::API_VERSION, - env::var("VERSION_COMMIT").unwrap_or("unknown".to_string()) + generated::VERSION_COMMIT, ); exit(0);