From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 88CC8246BD2 for ; Thu, 4 Sep 2025 15:15:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756998946; cv=none; b=sn9ajaLVloznR9iN214jgqJHEQlvaNZ1aM384s+tBOkgKrs9GMnKjWCYEAqnrJo8pSqNxmqNFkUprWMAhY5FiKc0cC1xk3T1ScYNy4uDl7QID7xy2NUbZqigFCpAYCkxgZj9owDkqqchfLMZxaWa1Y/UrZUpO9TfwcJhTgu8lVk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756998946; c=relaxed/simple; bh=BckPpW3Mwah708WBv27AYWSL2peOd/iQ0LxeefQZ7ME=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nCy4DvpODzVGvCHraTgQjm6RIKYE8NwzWajaaQYdp8aywhT5/qUDhXeTOzte/Pt8Lf2zfLi/RfiEgDx8cNQ9FbSmT7GSpODmzD6krC/qRfTmQtLiZ8malPcN9M2nq0rJURQPQkF8lmWvnlO+6GifpeLGO1lxB32y3Uwd+PvqhlE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ByX+BxVR; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ByX+BxVR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2190EC4CEF1; Thu, 4 Sep 2025 15:15:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756998946; bh=BckPpW3Mwah708WBv27AYWSL2peOd/iQ0LxeefQZ7ME=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ByX+BxVRoOWZAq68HJdfmSEcBOObEoRYo4o233jdiPHKOTbJ4ibH45EGGtOT5blt0 2FfeLuBAkf2GxGrWzyodD5Ps8xb4e32z9Hr97w1iKiRhvm5p5uqn2KbBZXjqoyCiC6 qOnjIuhLn0lalytbLkunWwHLsqrUTX63TfjCZjlqn+DivN9DV4pPktxkGNTs0fl3oM PsVoJcKo+jg1hKLGVVVnRhfMrqL7p6OHRV+IQhurCWwMi3MBtpasz50sRQ7nuA7Cx+ sCd4ioezcH0C6G0qUU9cqm1+NiQLiP5CuQlCTts/Nj72dwIBeRM3tEMMIbNhnSIDVt RLyBZbzkKefXA== From: Chuck Lever To: Cc: Chuck Lever , Luis Chamberlain Subject: [PATCH v3 34/36] Makefile: Set TOPDIR_PATH and generate its sha256sum at run time Date: Thu, 4 Sep 2025 11:15:22 -0400 Message-ID: <20250904151526.1596282-35-cel@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250904151526.1596282-1-cel@kernel.org> References: <20250904151526.1596282-1-cel@kernel.org> Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Chuck Lever Commit 42d27579a9d0 ("guestfs: enhance ssh config choice") added a uniquifier to the name of the ssh config to avoid multiple kdevops runs clobbering each other's ssh config entries. It uses the TOPDIR pathname set in the current .config to benefit from the nice convenience of generating an Ansible extra_var using "output yaml". Commit 42d27579a9d0 ("guestfs: enhance ssh config choice") broke the ability to share a .config with other users because CONFIG_TOPDIR_PATH contains a fixed string pointing to the home directory where the .config was created. The TOPDIR and its checksum need to be generated not by "make menuconfig" but rather by "make" in order that .config files (as saved in defconfigs/) can be truly portable. Reviewed-by: Luis Chamberlain Signed-off-by: Chuck Lever --- Kconfig | 10 ---------- Makefile | 2 ++ scripts/gen-hosts.Makefile | 1 + scripts/ssh.Makefile | 2 +- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Kconfig b/Kconfig index 54921617b8b2..948befbce4de 100644 --- a/Kconfig +++ b/Kconfig @@ -5,16 +5,6 @@ mainmenu "$(PROJECT) $(PROJECTRELEASE)" -config TOPDIR_PATH - string - output yaml - default $(shell, echo $TOPDIR_PATH) - -config TOPDIR_PATH_SHA256SUM - string - output yaml - default $(shell, ./scripts/compute_sha256sum.sh $(TOPDIR_PATH)) - config HAVE_KDEVOPS_CUSTOM_DEFAULTS bool default n diff --git a/Makefile b/Makefile index 381470097938..7230c2871d4d 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,7 @@ export KDEVOPS_NODES := export PYTHONUNBUFFERED=1 export TOPDIR=./ export TOPDIR_PATH = $(shell readlink -f $(TOPDIR)) +export TOPDIR_PATH_SHA256SUM = $(shell ./scripts/compute_sha256sum.sh $(TOPDIR_PATH)) include scripts/refs.Makefile KDEVOPS_NODES_ROLE_TEMPLATE_DIR := $(KDEVOPS_PLAYBOOKS_DIR)/roles/gen_nodes/templates @@ -82,6 +83,7 @@ INCLUDES = -I include/ CFLAGS += $(INCLUDES) ANSIBLE_EXTRA_ARGS += kdevops_version='$(PROJECTRELEASE)' +ANSIBLE_EXTRA_ARGS += topdir_path_sha256sum='$(TOPDIR_PATH_SHA256SUM)' export KDEVOPS_HOSTS_TEMPLATE := hosts.j2 diff --git a/scripts/gen-hosts.Makefile b/scripts/gen-hosts.Makefile index 0d1e0cd77c2e..c809b1da18e5 100644 --- a/scripts/gen-hosts.Makefile +++ b/scripts/gen-hosts.Makefile @@ -3,6 +3,7 @@ KDEVOPS_PLAYBOOKS_DIR_FULL_PATH=$(TOPDIR_PATH)/$(KDEVOPS_PLAYBOOKS_DIR) KDEVOPS_HOSTS_TEMPLATE_DIR=$(KDEVOPS_PLAYBOOKS_DIR_FULL_PATH)/roles/gen_hosts/templates +GENHOSTS_EXTRA_ARGS += topdir_path='$(TOPDIR_PATH)' GENHOSTS_EXTRA_ARGS += kdevops_playbooks_dir='$(KDEVOPS_PLAYBOOKS_DIR)' # Relative path so that ansible can work with it diff --git a/scripts/ssh.Makefile b/scripts/ssh.Makefile index 68c6dcdd4dcd..82e9a8dd33b5 100644 --- a/scripts/ssh.Makefile +++ b/scripts/ssh.Makefile @@ -10,7 +10,7 @@ ifeq (y,$(CONFIG_KDEVOPS_SSH_CONFIG_UPDATE)) SSH_CONFIG_FILE:=$(subst ",,$(CONFIG_KDEVOPS_SSH_CONFIG)) ANSIBLE_EXTRA_ARGS += sshconfig=$(shell realpath $(SSH_CONFIG_FILE)) -ANSIBLE_EXTRA_ARGS += kdevops_ssh_config=$(shell scripts/append-makefile-vars.sh $(CONFIG_KDEVOPS_SSH_CONFIG_PREFIX) $(CONFIG_TOPDIR_PATH_SHA256SUM)) +ANSIBLE_EXTRA_ARGS += kdevops_ssh_config=$(shell scripts/append-makefile-vars.sh $(CONFIG_KDEVOPS_SSH_CONFIG_PREFIX) $(TOPDIR_PATH_SHA256SUM)) endif # CONFIG_KDEVOPS_SSH_CONFIG_UPDATE -- 2.51.0