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

Yann E. MORIN yann.morin.1998@anciens.enib.fr
Sat Sep 24 22:00:00 GMT 2011


Vincent, All,

On Thursday 22 September 2011 22:50:17 sinseman44@gmail.com wrote:
> # HG changeset patch
> # User Sinseman44 <sinseman44@gmail.com>

You have to provide your real name here.

> # Date 1316724578 -7200
> # Node ID 7e4e1c6f74e1064fda7020b2b75fb54d57183f81
> # Parent  7df89370f80537d1b36b2fda70e3a1c6bc237a65
> use a custom kernel directory (not prepared)

I'd change it a litle bit to:
  kernel/linux: use a custom kernel source directory

And you need to add your SoB line as well. See in the source tree:
  docs/7 - Contributing to crosstool-NG.txt

> 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

As already suggested, that variable should be renamed to:
  KERNEL_LINUX_CUSTOM_LOCATION

>      string
> -    prompt "Path to custom tarball"
> +    prompt "Path to custom tarball or directory"

"Path to custom source, 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
                       ^^^^^^
Hmmm... I made a typo, here... 

That 3-line comment must move inside the if statement: it applies only
to the tarball case, not the directory case. Care to fix the typo at the
same time? Thanks.

>          # 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

The CWD might or might not be CT_SRC_DIR, so you have to test the full path:
  -d "${CT_SRC_DIR}/${CT_KERNEL_LINUX_CUSTOM_TARBALL}"

>          return 0
>      fi
> +   
>      # This also handles the custom tarball
>      CT_Extract "linux-${CT_KERNEL_VERSION}"
>      CT_Patch "linux" "${CT_KERNEL_VERSION}"

Otherwise, looks good! :-)

Care to resend with the above changes? Thank you!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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



More information about the crossgcc mailing list