scripts/build/kernel/linux.sh
changeset 2680 b94e0f9d15a3
parent 2677 7df89370f805
child 2690 7e0a5e30a02c
     1.1 --- a/scripts/build/kernel/linux.sh	Wed Sep 21 22:42:35 2011 +0200
     1.2 +++ b/scripts/build/kernel/linux.sh	Thu Sep 22 22:49:38 2011 +0200
     1.3 @@ -25,17 +25,23 @@
     1.4      fi
     1.5  
     1.6      if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" ]; then
     1.7 -        # Wee need to know the custom tarball extension,
     1.8 -        # so we can cerate a properly-named symlink, which
     1.9 -        # we use later on in 'extract'
    1.10 -        case "${CT_KERNEL_LINUX_CUSTOM_TARBALL}" in
    1.11 -            *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
    1.12 -            *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
    1.13 -            *.tar)          custom_name="linux-custom.tar";;
    1.14 -            *)  CT_Abort "Unknown extension for custom linux tarball '${CT_KERNEL_LINUX_CUSTOM_TARBALL}'";;
    1.15 -        esac
    1.16 -        CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_TARBALL}"  \
    1.17 -                                  "${CT_TARBALLS_DIR}/${custom_name}"
    1.18 +        if [ ! -d "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
    1.19 +            # Wee need to know the custom tarball extension,
    1.20 +            # so we can create a properly-named symlink, which
    1.21 +            # we use later on in 'extract'
    1.22 +            case "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" in
    1.23 +                *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
    1.24 +                *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
    1.25 +                *.tar)          custom_name="linux-custom.tar";;
    1.26 +                *)  CT_Abort "Unknown extension for custom linux tarball '${CT_KERNEL_LINUX_CUSTOM_LOCATION}'";;
    1.27 +            esac
    1.28 +            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
    1.29 +                                      "${CT_TARBALLS_DIR}/${custom_name}"
    1.30 +        else
    1.31 +            custom_name="linux-custom"
    1.32 +            CT_DoExecLog DEBUG ln -s "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
    1.33 +                                      "${CT_SRC_DIR}/${custom_name}"
    1.34 +        fi
    1.35      else # Not a custom tarball
    1.36          case "${CT_KERNEL_VERSION}" in
    1.37              2.6.*.*|3.*.*)
    1.38 @@ -64,9 +70,11 @@
    1.39  
    1.40  # Extract kernel
    1.41  do_kernel_extract() {
    1.42 -    if [ "${CT_KERNEL_LINUX_USE_CUSTOM_HEADERS}" = "y"  ]; then
    1.43 +    if [ "${CT_KERNEL_LINUX_USE_CUSTOM_HEADERS}" = "y" \
    1.44 +         -o -d "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
    1.45          return 0
    1.46      fi
    1.47 +   
    1.48      # This also handles the custom tarball
    1.49      CT_Extract "linux-${CT_KERNEL_VERSION}"
    1.50      CT_Patch "linux" "${CT_KERNEL_VERSION}"