[PATCH 2/3] SetupHome: delay creation of tmpdir to execution

0 views
Skip to first unread message

Felix Moessbauer

unread,
Jul 15, 2025, 6:59:05 AMJul 15
to kas-...@googlegroups.com, jan.k...@siemens.com, Felix Moessbauer
The kas home is setup in a tmpdir. Previously, this tmpdir was created
in the constructor, which is called whenever a Macro instance is created
(at least once for every plugin). To avoid this overhead (and related
audit events), we only create the tmpdir on execution.

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
kas/libcmds.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/kas/libcmds.py b/kas/libcmds.py
index ec530741a..9534551d7 100644
--- a/kas/libcmds.py
+++ b/kas/libcmds.py
@@ -188,10 +188,11 @@ class SetupHome(Command):

def __init__(self):
super().__init__()
- self.tmpdirname = tempfile.mkdtemp()
+ self.tmpdirname = None

def __del__(self):
- shutil.rmtree(self.tmpdirname)
+ if self.tmpdirname:
+ shutil.rmtree(self.tmpdirname)

def __str__(self):
return 'setup_home'
@@ -357,6 +358,8 @@ class SetupHome(Command):
managed_env = ctx.managed_env
if managed_env:
logging.info(f'Running on {managed_env}')
+ if not self.tmpdirname:
+ self.tmpdirname = tempfile.mkdtemp()
def_umask = os.umask(0o077)
self._setup_netrc()
self._setup_npmrc()
--
2.50.0

Jan Kiszka

unread,
Aug 7, 2025, 12:57:35 PMAug 7
to Felix Moessbauer, kas-...@googlegroups.com
Ok, this looks like a reasonable, isolated fix (of an , so I'm applying
it independently.

Thanks,
Jan

PS: Long-standing issue, already the initial commit came with this
pattern...

--
Siemens AG, Foundational Technologies
Linux Expert Center
Reply all
Reply to author
Forward
0 new messages