[oe] [PATCH] kernel.bbclass: fixed dependency calculation with recent modutils

Enrico Scholz enrico.scholz at sigma-chemnitz.de
Tue Mar 16 11:55:21 UTC 2010


'depmod' from  recent module-init-tools (version 3.9 or later) returns
paths relative to /lib/modules/`uname -r`.  E.g. 'modules.dep' contain

| kernel/fs/nfs_common/nfs_acl.ko: kernel/net/sunrpc/sunrpc.ko

instead of absolute pathnames.

The dependency calculation of kernel modules depends on absolutes paths
which are readded by this patch.

Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
---
 classes/kernel.bbclass |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 69ab422..29a7e64 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -381,6 +381,17 @@ python populate_packages_prepend () {
 					deps[m2.group(1)].extend(m4.group(1).split())
 			line = f.readline()
 		f.close()
+
+		# Modern modutils do not add the "/lib/modules/`uname -r`"
+		# path to the module dependencies anymore. To keep backward
+		# compatibility, re-add them here
+		add_moddir = (lambda x:
+			      ("/lib/modules/%s/%s" % (kernelver_stripped, x),
+			       x)[x[0] == '/'])
+		deps = dict(map(lambda (key,val):
+				(add_moddir(key),
+				 map(lambda x: add_moddir(x), val)),
+				deps.items()))
 		return deps
 	
 	def get_dependencies(file, pattern, format):
-- 
1.6.6.1





More information about the Openembedded-devel mailing list