From: Daan De Meyer Date: Wed, 29 Jan 2025 20:37:02 +0000 (+0100) Subject: Fix condition when removing duplicate files from the overlay X-Git-Tag: v25.3~2^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6efefe2e3a431d36f3c5faa6c0a5edc9d3adf843;p=thirdparty%2Fmkosi.git Fix condition when removing duplicate files from the overlay --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 863a72722..f5d5c0fd0 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -185,11 +185,14 @@ def mount_base_trees(context: Context) -> Iterator[None]: rel = p.relative_to(context.root) q = context.workspace / "lower" / rel - if not q.is_symlink() and q.is_dir(): - if p.is_symlink() or not p.is_dir(): - die(f"/{rel} is a directory in the base tree but not in the overlay") + if not q.is_symlink() and not q.exists(): + continue + + if not p.is_symlink() and p.is_dir(): + if q.is_symlink() or not q.is_dir(): + die(f"/{rel} is a directory in the overlay but not in the base tree") shutil.copystat(q, p) - elif q.is_symlink() or q.exists(): + else: logging.info(f"Removing duplicate path /{rel} from overlay") p.unlink()