Re: [RFC PATCH 1/2] Set TOPDIR_PATH and generate its sha256sum at run time
Luis Chamberlain <[email protected]>
| Newsgroups | dev.linux.lists.kdevops |
|---|---|
| Message-ID | <[email protected]> |
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? > 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. Otherwise this is looking nice. Luis