From: Daan De Meyer Date: Mon, 18 Mar 2024 09:01:28 +0000 (+0100) Subject: Remove unneeded directories as well in process_kernel_modules() X-Git-Tag: v23~82^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b508b506303ede76ff854aff04f201b62a185c6;p=thirdparty%2Fmkosi.git Remove unneeded directories as well in process_kernel_modules() --- diff --git a/mkosi/kmod.py b/mkosi/kmod.py index fbbb5cedd..8fafa7650 100644 --- a/mkosi/kmod.py +++ b/mkosi/kmod.py @@ -222,19 +222,25 @@ def process_kernel_modules( gen_required_kernel_modules(root, kver, include=include, exclude=exclude, host=host, sandbox=sandbox) ) - for m in (root / "usr/lib/modules" / kver).rglob("*.ko*"): + for m in sorted((root / "usr/lib/modules" / kver / "kernel").rglob("*"), reverse=True): if m in required: continue - logging.debug(f"Removing module {m}") - m.unlink() + if m.is_file() or m.is_symlink(): + logging.debug(f"Removing module {m}") + m.unlink() + else: + m.rmdir() - for fw in (m for m in (root / "usr/lib/firmware").rglob("*") if not m.is_dir()): + for fw in sorted((root / "usr/lib/firmware").rglob("*"), reverse=True): if fw in required: continue if any(fw.is_relative_to(root / "usr/lib/firmware" / d) for d in ("amd-ucode", "intel-ucode")): continue - logging.debug(f"Removing firmware {fw}") - fw.unlink() + if fw.is_file() or fw.is_symlink(): + logging.debug(f"Removing firmware {fw}") + fw.unlink() + else: + fw.rmdir()