Skip to content

Commit e817443

Browse files
committed
Make calculate_modules and process_module_metadata run separately, bump version
Signed-off-by: Zen <[email protected]>
1 parent 1994898 commit e817443

File tree

3 files changed

+27
-32
lines changed

3 files changed

+27
-32
lines changed

ugrd/initramfs_generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
__author__ = "desultory"
3-
__version__ = "0.10.0"
3+
__version__ = "0.10.1"
44

55
from tomllib import load
66
from typing import Union

ugrd/kmod/kmod.py

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
'modules.dep', 'modules.dep.bin', 'modules.devname', 'modules.order', 'modules.softdep', 'modules.symbols', 'modules.symbols.bin']
1010

1111

12-
class IgnoredKernelModule(Exception):
13-
pass
14-
15-
1612
class DependencyResolutionError(Exception):
1713
pass
1814

@@ -188,6 +184,31 @@ def get_lsmod_modules(self) -> list[str]:
188184
return list(modules)
189185

190186

187+
def calculate_modules(self) -> None:
188+
"""
189+
Populates the kernel_modules list with all required kernel modules.
190+
If kmod_autodetect_lsmod is set, adds the contents of lsmod if specified.
191+
If kmod_autodetect_lspci is set, adds the contents of lspci -k if specified.
192+
Adds the contents of _kmod_depend if specified.
193+
Performs dependency resolution on all kernel modules.
194+
"""
195+
if self.config_dict['kmod_autodetect_lsmod']:
196+
autodetected_modules = get_lsmod_modules(self)
197+
self.logger.info("Autodetected kernel modules from lsmod: %s" % autodetected_modules)
198+
self.config_dict['kernel_modules'] = autodetected_modules
199+
200+
if self.config_dict['kmod_autodetect_lspci']:
201+
autodetected_modules = get_lspci_modules(self)
202+
self.logger.info("Autodetected kernel modules from lscpi -k: %s" % autodetected_modules)
203+
self.config_dict['kernel_modules'] = autodetected_modules
204+
205+
if self.config_dict['_kmod_depend']:
206+
self.logger.info("Adding internal dependencies to kmod_init: %s" % self.config_dict['_kmod_depend'])
207+
self.config_dict['kmod_init'] = self.config_dict['_kmod_depend'].copy() # Copy because _kmood_depend may shrink during iteration
208+
209+
self.logger.info("Included kernel modules: %s" % self.config_dict['kernel_modules'])
210+
211+
191212
def process_module_metadata(self) -> None:
192213
"""
193214
Gets all module metadata for the specified kernel version.
@@ -214,32 +235,6 @@ def process_module_metadata(self) -> None:
214235
self.config_dict['dependencies'] = meta_file_path
215236

216237

217-
def calculate_modules(self) -> None:
218-
"""
219-
Populates the kernel_modules list with all required kernel modules.
220-
If kmod_autodetect_lsmod is set, adds the contents of lsmod if specified.
221-
If kmod_autodetect_lspci is set, adds the contents of lspci -k if specified.
222-
Adds the contents of _kmod_depend if specified.
223-
Performs dependency resolution on all kernel modules.
224-
"""
225-
if self.config_dict['kmod_autodetect_lsmod']:
226-
autodetected_modules = get_lsmod_modules(self)
227-
self.logger.info("Autodetected kernel modules from lsmod: %s" % autodetected_modules)
228-
self.config_dict['kernel_modules'] = autodetected_modules
229-
230-
if self.config_dict['kmod_autodetect_lspci']:
231-
autodetected_modules = get_lspci_modules(self)
232-
self.logger.info("Autodetected kernel modules from lscpi -k: %s" % autodetected_modules)
233-
self.config_dict['kernel_modules'] = autodetected_modules
234-
235-
if self.config_dict['_kmod_depend']:
236-
self.logger.info("Adding internal dependencies to kmod_init: %s" % self.config_dict['_kmod_depend'])
237-
self.config_dict['kmod_init'] = self.config_dict['_kmod_depend'].copy() # Copy because _kmood_depend may shrink during iteration
238-
239-
self.logger.info("Included kernel modules: %s" % self.config_dict['kernel_modules'])
240-
process_module_metadata(self)
241-
242-
243238
def process_modules(self) -> None:
244239
"""
245240
Processes all kernel modules, adding dependencies to the initramfs

ugrd/kmod/kmod.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ _kmod_modinfo = "dict" # Used internally, caches modinfo output for kernel modul
2121
"ugrd.kmod.kmod" = [ "_process_kmod_init_multi", "_process_kernel_modules_multi", "_process_kmod_ignore_multi" ]
2222

2323
[imports.build_pre]
24-
"ugrd.kmod.kmod" = [ "calculate_modules", "process_modules" ]
24+
"ugrd.kmod.kmod" = [ "calculate_modules", "process_module_metadata", "process_modules" ]
2525

2626
[imports.init_pre]
2727
"ugrd.kmod.kmod" = [ "load_modules" ]

0 commit comments

Comments
 (0)