kernel.bbclass: kernel_do_install fails with kernel <2.6.30
authorMarco Cavallini <koansoftware@gmail.com>
Tue, 8 Jan 2013 07:51:44 +0000 (08:51 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 10 Jan 2013 23:43:09 +0000 (23:43 +0000)
 * kernels <2.6.30 don't have $kerneldir/tools directory
 * so we got this error:
 * sed: can't read ...SNIP...linux/2.6.30-r0/image/usr/src/kernel/tools/perf/Makefile: No such file or directory
 * ERROR: Function failed: do_install

(From OE-Core rev: 4dd39a23dfe069ad34a925e00407b4dde978cb01)

Signed-off-by: Marco Cavallini <m.cavallini@koansoftware.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel.bbclass

index 96b23bc..aff8842 100644 (file)
@@ -204,8 +204,11 @@ kernel_do_install() {
                rm -f $kerneldir/$entry
        done
 
-       # Fix SLANG_INC for slang.h
-       sed -i 's#-I/usr/include/slang#-I=/usr/include/slang#g' $kerneldir/tools/perf/Makefile
+       # kernels <2.6.30 don't have $kerneldir/tools directory so we check if it exists before calling sed
+       if [ -f $kerneldir/tools/perf/Makefile ]; then
+               # Fix SLANG_INC for slang.h
+               sed -i 's#-I/usr/include/slang#-I=/usr/include/slang#g' $kerneldir/tools/perf/Makefile
+       fi
 }
 
 sysroot_stage_all_append() {