Re: [RFC PATCH 1/2] Set TOPDIR_PATH and generate its sha256sum at run time

Chuck Lever <[email protected]>
Newsgroups dev.linux.lists.kdevops
Organization kernel.org
Message-ID <[email protected]>
On 8/29/25 7:19 AM, Luis Chamberlain wrote:
> On Thu, Aug 28, 2025 at 04:28:26PM -0400, Chuck Lever wrote:
>> From: Chuck Lever <[email protected]>
>>
>> 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".
>>
>> However, if the same user generates all her .configs (that will be
>> run by other users under automation) while in the same directory
>> (say, if they are different branches in the same git repository),
>> the TOPDIR pathname and thus the sha256sum of that pathname will be
>> exactly the same in all of those .config files, allowing the path
>> names of the ephemeral ssh configs to collide.
> 
> Both paragraphs above took me quite a bit of time to grasp, I think
> it was the parenthesis, as they make me try to switch contexts. So
> I think the explanation of the issue can be simplified. I *think*
> that the issue your are describing is essentially that we currently
> cannot support sharing .config to other users because TOPDIR_PATH
> expects the same path to be used. Would that be a summary of the
> issue?

I struggled with writing it. I wanted to capture my use case as the
rationale for the change. I'll try to integrate your suggestion.


>> 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.
> 
> This is nice.
> 
>> Signed-off-by: Chuck Lever <[email protected]>
>> ---
>>  Kconfig                    | 15 ---------------
>>  Makefile                   |  4 ++++
>>  scripts/gen-hosts.Makefile |  1 +
>>  scripts/ssh.Makefile       |  4 ++--
>>  4 files changed, 7 insertions(+), 17 deletions(-)
>>
>> diff --git a/Kconfig b/Kconfig
>> index 3f2bc8cf019a..948befbce4de 100644
>> --- a/Kconfig
>> +++ b/Kconfig
>> @@ -5,21 +5,6 @@
>>  
>>  mainmenu "$(PROJECT) $(PROJECTRELEASE)"
>>  
>> -config TOPDIR_PATH
>> -	string
>> -	output yaml
>> -	default $(shell, echo $TOPDIR_PATH)
>> -
>> -config TOPDIR_PATH_HAS_SHA256SUM
>> -	bool
>> -	output yaml
>> -	default y
>> -
>> -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 8755577e4d85..b6fdbe67fc07 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -19,6 +19,8 @@ export KDEVOPS_NODES :=
>>  export PYTHONUNBUFFERED=1
>>  export TOPDIR=./
>>  export TOPDIR_PATH = $(shell readlink -f $(TOPDIR))
>> +export TOPDIR_PATH_HAS_SHA256SUM=y
> 
> We added this a long time ago, to remain compatible with users who
> may git pull to the latest kdevops which didn't yet have the symbol
> TOPDIR_PATH_HAS_SHA256SUM.
> 
> So I think a prep patch to just remove TOPDIR_PATH_HAS_SHA256SUM now
> make sense.

Ha! I had a sentence in the patch description suggesting removal of
HAS_SHA256SUM, but decided to keep things simple and took it out.


> Otherwise this is looking nice.
> 
>   Luis


-- 
Chuck Lever
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.