'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 <[email protected]>
---
 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


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to