diff --git a/osbuild/buildroot.py b/osbuild/buildroot.py index 1ceb06be..bd8dded0 100644 --- a/osbuild/buildroot.py +++ b/osbuild/buildroot.py @@ -138,12 +138,6 @@ class BuildRoot(contextlib.AbstractContextManager): self.var = os.path.join(self.tmp, "var") os.makedirs(self.var, exist_ok=True) - # Ensure /var/tmp is available, see - # https://github.com/osbuild/bootc-image-builder/issues/223 - try: - os.symlink("/tmp", os.path.join(self.var, "tmp")) - except FileExistsError: - pass proc = os.path.join(self.tmp, "proc") os.makedirs(proc) @@ -227,6 +221,10 @@ class BuildRoot(contextlib.AbstractContextManager): mounts += ["--tmpfs", "/tmp"] mounts += ["--bind", self.var, "/var"] + # Create a usable /var/tmp, see + # https://github.com/osbuild/bootc-image-builder/issues/223 + os.makedirs(os.path.join(self.var, "tmp"), 0o1777, exist_ok=True) + # Setup API file-systems. mounts += ["--proc", "/proc"] mounts += ["--ro-bind", "/sys", "/sys"] diff --git a/test/mod/test_buildroot.py b/test/mod/test_buildroot.py index d7146338..ba3ed1cf 100644 --- a/test/mod/test_buildroot.py +++ b/test/mod/test_buildroot.py @@ -50,10 +50,9 @@ def test_basic(tempdir, runner): assert r.returncode != 0 # Test that fs setup looks correct - r = root.run(["readlink", "-f", "/var/tmp"], monitor) + r = root.run(["test", "-d", "/var/tmp"], monitor) assert r.returncode == 0 - assert r.stdout.strip().split("\n")[-1] == "/tmp" - r = root.run(["stat", "-L", "--format=%a", "/var/tmp"], monitor) + r = root.run(["stat", "--format=%a", "/var/tmp"], monitor) assert r.returncode == 0 assert r.stdout.strip().split("\n")[-1] == "1777"