From 7846fa592b17045da791bbfc2c571bd18126ec54 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 18 Nov 2021 13:48:09 +0100 Subject: [PATCH] buildroot: create var inside a generic temp dir Instead of having a temporary directory on the host for `/var` inside the container, create a generic temporary directory that can be used for other things and create the `var` inside that. --- osbuild/buildroot.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/osbuild/buildroot.py b/osbuild/buildroot.py index 4e07d12b..59e91dd9 100644 --- a/osbuild/buildroot.py +++ b/osbuild/buildroot.py @@ -69,6 +69,7 @@ class BuildRoot(contextlib.AbstractContextManager): self._apis = [] self.dev = None self.var = None + self.tmp = None self.mount_boot = True @staticmethod @@ -101,8 +102,11 @@ class BuildRoot(contextlib.AbstractContextManager): self.dev = self._exitstack.enter_context(dev) os.makedirs(self._vardir, exist_ok=True) - var = tempfile.TemporaryDirectory(prefix="osbuild-var-", dir=self._vardir) - self.var = self._exitstack.enter_context(var) + tmp = tempfile.TemporaryDirectory(prefix="osbuild-tmp-", dir=self._vardir) + self.tmp = self._exitstack.enter_context(tmp) + + self.var = os.path.join(self.tmp, "var") + os.makedirs(self.var, exist_ok=True) subprocess.run(["mount", "-t", "tmpfs", "-o", "nosuid", "none", self.dev], check=True) self._exitstack.callback(lambda: subprocess.run(["umount", "--lazy", self.dev], check=True))