Skip to content

Commit

Permalink
Merge pull request #206 from microsoft/mahuber/cherry-pick-upstr
Browse files Browse the repository at this point in the history
Cherry-pick upstream PR kata-containers#9825: osbuilder: allow rootfs builds w/o git or version file deps
  • Loading branch information
ms-mahuber authored Jul 15, 2024
2 parents cc23bdb + 9c9199e commit e7cb0d1
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 18 deletions.
2 changes: 1 addition & 1 deletion src/agent/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ PROJECT_COMPONENT = kata-agent
TARGET = $(PROJECT_COMPONENT)

VERSION_FILE := ./VERSION
VERSION := $(shell grep -v ^\# $(VERSION_FILE))
VERSION := $(shell grep -v ^\# $(VERSION_FILE) 2>/dev/null || echo "unknown")
COMMIT_NO := $(shell git rev-parse HEAD 2>/dev/null || true)
COMMIT := $(if $(shell git status --porcelain --untracked-files=no 2>/dev/null || true),${COMMIT_NO}-dirty,${COMMIT_NO})
COMMIT_MSG = $(if $(COMMIT),$(COMMIT),unknown)
Expand Down
2 changes: 1 addition & 1 deletion src/runtime-rs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ SOURCES := \
Cargo.toml

VERSION_FILE := ./VERSION
VERSION := $(shell grep -v ^\# $(VERSION_FILE))
VERSION := $(shell grep -v ^\# $(VERSION_FILE) 2>/dev/null || echo "unknown")
COMMIT_NO := $(shell git rev-parse HEAD 2>/dev/null || true)
COMMIT := $(if $(shell git status --porcelain --untracked-files=no 2>/dev/null || true),${COMMIT_NO}-dirty,${COMMIT_NO})
COMMIT_MSG = $(if $(COMMIT),$(COMMIT),unknown)
Expand Down
2 changes: 1 addition & 1 deletion src/tools/kata-ctl/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ TARGET = $(PROJECT_COMPONENT)
INSTALL_PATH = $(HOME)/.cargo

VERSION_FILE := ./VERSION
export VERSION := $(shell grep -v ^\# $(VERSION_FILE))
export VERSION := $(shell grep -v ^\# $(VERSION_FILE) 2>/dev/null || echo "unknown")
COMMIT_NO := $(shell git rev-parse HEAD 2>/dev/null || true)
COMMIT_NO_SHORT := $(shell git rev-parse --short HEAD 2>/dev/null || true)
export COMMIT := $(if $(shell git status --porcelain --untracked-files=no 2>/dev/null || true),${COMMIT_NO}-dirty,${COMMIT_NO})
Expand Down
7 changes: 4 additions & 3 deletions src/tools/log-parser/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
TARGET = kata-log-parser
SOURCES = $(shell find . 2>&1 | grep -E '.*\.go$$')

VERSION := ${shell cat ./VERSION}
COMMIT_NO := $(shell git rev-parse HEAD 2> /dev/null || true)
COMMIT := $(if $(shell git status --porcelain --untracked-files=no),"${COMMIT_NO}-dirty","${COMMIT_NO}")
VERSION_FILE := ./VERSION
VERSION := $(shell grep -v ^\# $(VERSION_FILE) 2>/dev/null || echo "unknown")
COMMIT_NO := $(shell git rev-parse HEAD 2>/dev/null || true)
COMMIT := $(if $(shell git status --porcelain --untracked-files=no 2>/dev/null || true),"${COMMIT_NO}-dirty","${COMMIT_NO}")

BINDIR := $(GOPATH)/bin
DESTTARGET := $(abspath $(BINDIR)/$(TARGET))
Expand Down
6 changes: 3 additions & 3 deletions tools/osbuilder/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ TARGET_IGVM_DEBUG_MSMT:= $(IGVM_BUILD_DEST)/igvm-debug-measurement.cose
TARGET_IGVM_LOG := $(IGVM_BUILD_DEST)/igvm.log

VERSION_FILE := ./VERSION
VERSION := $(shell grep -v ^\# $(VERSION_FILE))
COMMIT_NO := $(shell git rev-parse HEAD 2> /dev/null || true)
COMMIT := $(if $(shell git status --porcelain --untracked-files=no),${COMMIT_NO}-dirty,${COMMIT_NO})
VERSION := $(shell grep -v ^\# $(VERSION_FILE) 2>/dev/null || echo "unknown")
COMMIT_NO := $(shell git rev-parse HEAD 2>/dev/null || true)
COMMIT := $(if $(shell git status --porcelain --untracked-files=no 2>/dev/null || true),${COMMIT_NO}-dirty,${COMMIT_NO})
VERSION_COMMIT := $(if $(COMMIT),$(VERSION)-$(COMMIT),$(VERSION))

ifeq ($(filter $(BUILD_METHOD),$(BUILD_METHOD_LIST)),)
Expand Down
6 changes: 0 additions & 6 deletions tools/osbuilder/rootfs-builder/rootfs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -372,12 +372,6 @@ build_rootfs_distro()
mkdir -p ${ROOTFS_DIR}
fi

# need to detect rustc's version too?
detect_rust_version ||
die "Could not detect the required rust version for AGENT_VERSION='${AGENT_VERSION:-main}'."

echo "Required rust version: $RUST_VERSION"

if [ "${SELINUX}" == "yes" ]; then
if [ "${AGENT_INIT}" == "yes" ]; then
die "Guest SELinux with the agent init is not supported yet"
Expand Down
16 changes: 13 additions & 3 deletions tools/osbuilder/scripts/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,8 @@ create_summary_file()
[ "$AGENT_INIT" = yes ] && agent="${init}"

local -r agentdir="${script_dir}/../../../"
local -r agent_version=$(cat ${agentdir}/VERSION)
local agent_version=$(cat ${agentdir}/VERSION 2> /dev/null)
[ -z "$agent_version" ] && agent_version="unknown"

cat >"$file"<<-EOF
---
Expand Down Expand Up @@ -224,14 +225,23 @@ generate_dockerfile()

[ -n "${http_proxy:-}" ] && readonly set_proxy="RUN sed -i '$ a proxy="${http_proxy:-}"' /etc/dnf/dnf.conf /etc/yum.conf; true"

# Rust agent
readonly install_rust="
# Only install Rust if agent needs to be built
local install_rust=""

if [ ! -z "${AGENT_SOURCE_BIN}" ] ; then
if [ "$RUST_VERSION" == "null" ]; then
detect_rust_version || \
die "Could not detect the required rust version for AGENT_VERSION='${AGENT_VERSION:-main}'."
fi
install_rust="
ENV http_proxy=${http_proxy:-}
ENV https_proxy=${http_proxy:-}
RUN curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSLf | \
sh -s -- -y --default-toolchain ${RUST_VERSION} -t ${rustarch}-unknown-linux-${LIBC}
RUN . /root/.cargo/env; cargo install cargo-when
"
fi

pushd "${dir}"

sed \
Expand Down

0 comments on commit e7cb0d1

Please sign in to comment.