Skip to content

Commit 5235f99

Browse files
committed
fix bug with kmod metadata pulling
Signed-off-by: Zen <[email protected]>
1 parent 1928a61 commit 5235f99

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "ugrd"
7-
version = "1.3.7"
7+
version = "1.3.8"
88
authors = [
99
{ name="Desultory", email="[email protected]" },
1010
]

src/ugrd/kmod/kmod.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
__author__ = 'desultory'
2-
__version__ = '2.2.1'
2+
__version__ = '2.2.2'
33

44
from pathlib import Path
55
from subprocess import run
@@ -160,9 +160,8 @@ def autodetect_modules(self) -> None:
160160
_autodetect_modules_lspci(self)
161161

162162

163-
@check_dict('kmod_init', not_empty=True, message="kmod_init is not set, skipping.", log_level=30)
164-
def process_module_metadata(self) -> None:
165-
""" Adds kernel module metadata files to dependencies."""
163+
def get_kernel_metadata(self) -> None:
164+
""" Gets metadata for all kernel modules. """
166165
if not self.get('kernel_version'):
167166
try:
168167
cmd = self._run(['uname', '-r'])
@@ -172,11 +171,14 @@ def process_module_metadata(self) -> None:
172171
self['kernel_version'] = cmd.stdout.decode('utf-8').strip()
173172
self.logger.info(f"Using detected kernel version: {self['kernel_version']}")
174173

175-
module_path = Path('/lib/modules/') / self['kernel_version']
174+
if not (Path('/lib/modules') / self['kernel_version']).exists():
175+
raise DependencyResolutionError(f"Kernel module directory does not exist for kernel: {self['kernel_version']}")
176176

177-
if not module_path.exists():
178-
raise DependencyResolutionError("[%s] Kernel module directory does not exist for kernel version: %s" % (self['kernel_version'], module_path))
179177

178+
@check_dict('kmod_init', not_empty=True, message="kmod_init is not set, skipping.", log_level=30)
179+
def process_module_metadata(self) -> None:
180+
""" Adds kernel module metadata files to dependencies."""
181+
module_path = Path('/lib/modules/') / self['kernel_version']
180182
for meta_file in MODULE_METADATA_FILES:
181183
meta_file_path = module_path / meta_file
182184

src/ugrd/kmod/kmod.toml

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

2020
[imports.build_pre]
21-
"ugrd.kmod.kmod" = [ "process_module_metadata", "autodetect_modules", "process_modules" ]
21+
"ugrd.kmod.kmod" = [ "get_kernel_metadata", "autodetect_modules", "process_modules", "process_module_metadata" ]
2222

2323
[imports.init_pre]
2424
"ugrd.kmod.kmod" = [ "load_modules" ]

0 commit comments

Comments
 (0)