always resolve symlinks for TemporaryDirectory

On macOS mktemp returns a temporary directory in a symlink.
Nix has a bug where it won't accept path:// located in a symlink.
This avoid this issue by always resolving symlinks as returned by
TemporaryDirectory.
This commit is contained in:
Jörg Thalheim
2025-03-19 16:31:36 +01:00
parent 490e54b278
commit 43035b85a5
12 changed files with 55 additions and 55 deletions

View File

@@ -202,8 +202,8 @@ def generate_facts(
prompt: Callable[[str, str], str] = prompt_func,
) -> bool:
was_regenerated = False
with TemporaryDirectory(prefix="facts-generate-") as tmp:
tmpdir = Path(tmp)
with TemporaryDirectory(prefix="facts-generate-") as _tmpdir:
tmpdir = Path(_tmpdir).resolve()
for machine in machines:
errors = 0

View File

@@ -19,8 +19,8 @@ def upload_secrets(machine: Machine) -> None:
machine.info("Secrets already uploaded")
return
with TemporaryDirectory(prefix="facts-upload-") as tempdir:
local_secret_dir = Path(tempdir)
with TemporaryDirectory(prefix="facts-upload-") as _tempdir:
local_secret_dir = Path(_tempdir).resolve()
secret_facts_store.upload(local_secret_dir)
remote_secret_dir = Path(machine.secrets_upload_directory)