Skip to content

Commit 03feec0

Browse files
authored
Merge pull request #128 from desultory/dev
don't add dependencies to kernel_modules until after they are processed
2 parents bee9067 + 63cefb7 commit 03feec0

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/ugrd/kmod/kmod.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,19 +310,24 @@ def _process_kmod_dependencies(self, kmod: str) -> None:
310310

311311
for dependency in dependencies:
312312
if dependency in self["kmod_ignore"]: # Don't add modules with ignored dependencies
313+
_get_kmod_info(self, dependency) # Make sure modinfo is queried in case it's built-in
313314
if modinfo := self["_kmod_modinfo"].get(dependency):
314-
if modinfo["filename"] != "(builtin)": # But if it's ignored because it's built-in, that's fine
315+
if modinfo["filename"] == "(builtin)": # If it's ignored because builtin, that's fine
316+
self.logger.debug("[%s] Ignored dependency is a built-in module: %s" % (kmod, dependency))
317+
continue
318+
else: # Otherwise, raise a dependency error
315319
raise DependencyResolutionError(
316320
"[%s] Kernel module dependency is in ignore list: %s" % (kmod, dependency)
317321
)
322+
# If modinfo doesn't exist, simply raise an ignored module error
318323
raise IgnoredModuleError("[%s] Kernel module dependency is in ignore list: %s" % (kmod, dependency))
319324
if dependency in self["kernel_modules"]:
320325
self.logger.debug("[%s] Dependency is already in kernel_modules: %s" % (kmod, dependency))
321326
continue
322327
self.logger.debug("[%s] Processing dependency: %s" % (kmod, dependency))
323-
self["kernel_modules"] = dependency
324328
try:
325329
_process_kmod_dependencies(self, dependency)
330+
self["kernel_modules"] = dependency
326331
except BuiltinModuleError as e:
327332
self.logger.debug(e)
328333
continue

0 commit comments

Comments
 (0)