kernel, linux-kernel-base classes: update for 2.6.33-rc1 and newer
authorMartin Jansa <martin.jansa@gmail.com>
Tue, 22 Dec 2009 13:04:16 +0000 (13:04 +0000)
committerMartin Jansa <Martin.Jansa@gmail.com>
Wed, 23 Dec 2009 08:11:25 +0000 (09:11 +0100)
* include/asm link was killed in
  http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f7f16b7799ed68654850ab340ef812895aebcf4c
* utsrelease.h was moved in
  http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=273b281fa22c293963ee3e6eec418f5dda2dbc83

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Acked-by: Khem Raj <raj.khem@gmail.com>
classes/kernel.bbclass
classes/linux-kernel-base.bbclass

index edeaa66..069dceb 100644 (file)
@@ -95,13 +95,18 @@ kernel_do_compile() {
 kernel_do_compile[depends] = "${INITRAMFS_TASK}"
 
 kernel_do_stage() {
-       ASMDIR=`readlink include/asm`
+       if [ -e include/asm ] ; then
+               # This link is generated only in kernel before 2.6.33-rc1, don't stage it for newer kernels
+               ASMDIR=`readlink include/asm`
 
-       mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR
-       cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+               mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR
+               cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+       fi
        # Kernel 2.6.27 moved headers from includes/asm-${ARCH} to arch/${ARCH}/include/asm     
        if [ -e arch/${ARCH}/include/asm/ ] ; then 
-               cp -fR arch/${ARCH}/include/asm/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+               if [ -e include/asm ] ; then
+                       cp -fR arch/${ARCH}/include/asm/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+               fi
                install -d ${STAGING_KERNEL_DIR}/arch/${ARCH}/include
                cp -fR arch/${ARCH}/* ${STAGING_KERNEL_DIR}/arch/${ARCH}/       
 
@@ -112,8 +117,10 @@ kernel_do_stage() {
                cp -fR arch/x86/* ${STAGING_KERNEL_DIR}/arch/x86/
        fi
 
-       rm -f ${STAGING_KERNEL_DIR}/include/asm
-       ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
+       if [ -e include/asm ] ; then
+               rm -f ${STAGING_KERNEL_DIR}/include/asm
+               ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
+       fi
 
        mkdir -p ${STAGING_KERNEL_DIR}/include/asm-generic
        cp -fR include/asm-generic/* ${STAGING_KERNEL_DIR}/include/asm-generic/
index b3e0fda..510951a 100644 (file)
@@ -4,6 +4,9 @@ def get_kernelversion(p):
 
     fn = p + '/include/linux/utsrelease.h'
     if not os.path.isfile(fn):
+        # after 2.6.33-rc1
+        fn = p + '/include/generated/utsrelease.h'
+    if not os.path.isfile(fn):
         fn = p + '/include/linux/version.h'
 
     import re