From: Laurence Kiln <246209442+LaurenceKiln@users.noreply.github.com> Date: Fri, 5 Dec 2025 21:31:32 +0000 (+0200) Subject: Use Path.relative_to instead of Path.parts X-Git-Tag: v26~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a476a92deca8ad54869e5d416217aa1bb137b25;p=thirdparty%2Fmkosi.git Use Path.relative_to instead of Path.parts --- diff --git a/mkosi/kmod.py b/mkosi/kmod.py index ecce5193f..c25d923af 100644 --- a/mkosi/kmod.py +++ b/mkosi/kmod.py @@ -107,7 +107,7 @@ def filter_kernel_modules( globs = [normalize_module_glob(p) for p in include if not p.startswith("re:")] for m in modules: - rel = os.fspath(Path(*m.parts[5:])) + rel = os.fspath(m.relative_to(modulesd)) if (patterns and regex.search(rel)) or globs_match_module(normalize_module_name(rel), globs): keep.add(rel) @@ -119,7 +119,7 @@ def filter_kernel_modules( remove = set() for m in modules: - rel = os.fspath(Path(*m.parts[5:])) + rel = os.fspath(m.relative_to(modulesd)) if rel not in keep and regex.search(rel): remove.add(m) @@ -145,6 +145,8 @@ def filter_firmware( if exclude: logging.debug(f"Firmware exclude: {' '.join(exclude)}") + firmwared = Path("usr/lib/firmware") + # globs can be also used to exclude firmware, so we we need to apply them # to the inherited list of firmware files too. globs = [p for p in include if not p.startswith("re:")] @@ -156,14 +158,13 @@ def filter_firmware( regex = re.compile("|".join(patterns)) for f in firmware: - rel = os.fspath(Path(*f.parts[3:])) + rel = os.fspath(f.relative_to(firmwared)) if (patterns and regex.search(rel)) or not globs_match_firmware(rel, globs, match_default=True): remove.add(f) firmware -= remove if include: - firmwared = Path("usr/lib/firmware") with chdir(root): all_firmware = {p for p in firmwared.rglob("*") if p.is_file() or p.is_symlink()} @@ -171,7 +172,7 @@ def filter_firmware( regex = re.compile("|".join(patterns)) for f in all_firmware: - rel = os.fspath(Path(*f.parts[3:])) + rel = os.fspath(f.relative_to(firmwared)) if (patterns and regex.search(rel)) or globs_match_firmware(rel, globs): firmware.add(f)