[PATCH] use a custom kernel directory (not prepared)

sinseman44@gmail.com sinseman44@gmail.com
Thu Sep 22 20:54:00 GMT 2011


# HG changeset patch
# User Sinseman44 <sinseman44@gmail.com>
# Date 1316724578 -7200
# Node ID 7e4e1c6f74e1064fda7020b2b75fb54d57183f81
# Parent  7df89370f80537d1b36b2fda70e3a1c6bc237a65
use a custom kernel directory (not prepared)

diff -r 7df89370f805 -r 7e4e1c6f74e1 config/kernel/linux.in
--- a/config/kernel/linux.in	Wed Sep 21 22:42:35 2011 +0200
+++ b/config/kernel/linux.in	Thu Sep 22 22:49:38 2011 +0200
@@ -140,16 +140,17 @@
 
 config KERNEL_LINUX_CUSTOM
     bool
-    prompt "custom tarball"
+    prompt "custom tarball or directory"
     help
-      Use a local tarball of a complete kernel source tree.
+      Use a local tarball or local kernel directory of a complete kernel source tree.
 
 config KERNEL_LINUX_CUSTOM_TARBALL
     string
-    prompt "Path to custom tarball"
+    prompt "Path to custom tarball or directory"
     depends on KERNEL_LINUX_CUSTOM
     help
-      Enter here the path to the tarball of your full kernel tree.
+      Enter here the path to the tarball of your full kernel tree or
+      kernel directory
 
 endchoice
 
diff -r 7df89370f805 -r 7e4e1c6f74e1 scripts/build/kernel/linux.sh
--- a/scripts/build/kernel/linux.sh	Wed Sep 21 22:42:35 2011 +0200
+++ b/scripts/build/kernel/linux.sh	Thu Sep 22 22:49:38 2011 +0200
@@ -28,14 +28,21 @@
         # Wee need to know the custom tarball extension,
         # so we can cerate a properly-named symlink, which
         # we use later on in 'extract'
-        case "${CT_KERNEL_LINUX_CUSTOM_TARBALL}" in
-            *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
-            *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
-            *.tar)          custom_name="linux-custom.tar";;
-            *)  CT_Abort "Unknown extension for custom linux tarball '${CT_KERNEL_LINUX_CUSTOM_TARBALL}'";;
-        esac
-        CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_TARBALL}"  \
-                                  "${CT_TARBALLS_DIR}/${custom_name}"
+        if [ ! -d "${CT_KERNEL_LINUX_CUSTOM_TARBALL}" ]; then
+            case "${CT_KERNEL_LINUX_CUSTOM_TARBALL}" in
+                *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
+                *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
+                *.tar)          custom_name="linux-custom.tar";;
+                *)  CT_Abort "Unknown extension for custom linux tarball '${CT_KERNEL_LINUX_CUSTOM_TARBALL}'";;
+            esac
+            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_TARBALL}"  \
+                                      "${CT_TARBALLS_DIR}/${custom_name}"
+        else
+            custom_name="linux-custom"
+            CT_DoExecLog DEBUG ln -s "${CT_KERNEL_LINUX_CUSTOM_TARBALL}"  \
+                                      "${CT_SRC_DIR}/${custom_name}"
+        fi
+       
     else # Not a custom tarball
         case "${CT_KERNEL_VERSION}" in
             2.6.*.*|3.*.*)
@@ -64,9 +71,11 @@
 
 # Extract kernel
 do_kernel_extract() {
-    if [ "${CT_KERNEL_LINUX_USE_CUSTOM_HEADERS}" = "y"  ]; then
+    if [ "${CT_KERNEL_LINUX_USE_CUSTOM_HEADERS}" = "y" \
+         -o -d "${CT_KERNEL_LINUX_CUSTOM_TARBALL}" ]; then
         return 0
     fi
+   
     # This also handles the custom tarball
     CT_Extract "linux-${CT_KERNEL_VERSION}"
     CT_Patch "linux" "${CT_KERNEL_VERSION}"

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list