From: Daan De Meyer Date: Tue, 16 Jan 2024 15:39:05 +0000 (+0100) Subject: Cache depmod again X-Git-Tag: v20.2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a90850c5b9f8ccc07751e605ec41914c28740d7e;p=thirdparty%2Fmkosi.git Cache depmod again Let's run depmod before we cache our images so that we can skip it when doing incremental builds for kernels installed with the package manager. depmod is noticeably slow so this speeds up kernel builds a bit. --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 331cffcd6..49854a66a 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -2277,11 +2277,25 @@ def configure_clock(context: Context) -> None: (context.root / "usr/lib/clock-epoch").touch() -def run_depmod(context: Context) -> None: +def run_depmod(context: Context, *, force: bool = False) -> None: if context.config.overlay or context.config.output_format.is_extension_image(): return + outputs = ( + "modules.dep", + "modules.dep.bin", + "modules.symbols", + "modules.symbols.bin", + ) + for kver, _ in gen_kernel_images(context): + if ( + not force and + not context.config.kernel_modules_exclude and + all((context.root / "usr/lib/modules" / kver / o).exists() for o in outputs) + ): + continue + process_kernel_modules( context.root, kver, include=context.config.kernel_modules_include, @@ -2863,6 +2877,7 @@ def build_image(args: Args, config: Config) -> None: run_prepare_scripts(context, build=False) install_build_packages(context) run_prepare_scripts(context, build=True) + run_depmod(context, force=True) save_cache(context) reuse_cache(context)