Patchwork [v2] Added local directory as soure of kernel code

login
register
mail settings
Submitter Rafal Fabich
Date Feb. 14, 2013, 9:14 a.m.
Message ID <1360833253-26809-1-git-send-email-rafal.fabich@gmail.com>
Download mbox | patch
Permalink /patch/220402/
State Superseded
Headers show

Comments

Rafal Fabich - Feb. 14, 2013, 9:14 a.m.
Add the option to use a local directory as the source for
building the Linux kernel, which can be useful during
kernel development.

Signed-off-by: Rafal Fabich <rafal.fabich@gmail.com>

---
Changes v1 -> v2 after comments from Arnout Vandecappelle
  - default setting of BR2_LINUX_KERNEL_VERSION changed to "custom"
  - removed ifeq ($(LINUX_VERSION),custom) condition from linux.mk for better consistency

---
 linux/Config.in |   13 +++++++++++++
 linux/linux.mk  |    5 ++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
Arnout Vandecappelle - Feb. 23, 2013, 6:01 p.m.
On 14/02/13 10:14, Rafal Fabich wrote:
> Add the option to use a local directory as the source for
> building the Linux kernel, which can be useful during
> kernel development.
>
> Signed-off-by: Rafal Fabich <rafal.fabich@gmail.com>

  Since we get this kind of patch very regularly, I think it's time we 
commit it :-)

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  Note: the patch needs to be refreshed against master; sending an update 
in reply.


  Regards,
  Arnout

>
> ---
> Changes v1 -> v2 after comments from Arnout Vandecappelle
>    - default setting of BR2_LINUX_KERNEL_VERSION changed to "custom"
>    - removed ifeq ($(LINUX_VERSION),custom) condition from linux.mk for better consistency
>
> ---
>   linux/Config.in |   13 +++++++++++++
>   linux/linux.mk  |    5 ++++-
>   2 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/linux/Config.in b/linux/Config.in
> index 3c50acc..53e81ba 100644
> --- a/linux/Config.in
> +++ b/linux/Config.in
> @@ -52,6 +52,12 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT
>   	  This option allows Buildroot to get the Linux kernel source
>   	  code from a Git repository.
>
> +config BR2_LINUX_KERNEL_CUSTOM_LOCAL
> +	bool "Local directory"
> +	help
> +	  This option allows Buildroot to get the Linux kernel source
> +	  code from a local directory.
> +
>   endchoice
>
>   config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
> @@ -74,6 +80,12 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
>   	  Git revision to use in the format used by git rev-parse,
>   	  E.G. a sha id, a tag, branch, ..
>
> +config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
> +	string "Path to the local directory"
> +	depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
> +	help
> +	  Path to the local directory with the Linux kernel source code.
> +
>   config BR2_LINUX_KERNEL_VERSION
>   	string
>   	default "3.7.6" if BR2_LINUX_KERNEL_3_7
> @@ -81,6 +93,7 @@ config BR2_LINUX_KERNEL_VERSION
>   	default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION
>   	default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
>   	default $BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION if BR2_LINUX_KERNEL_CUSTOM_GIT
> +	default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
>
>   #
>   # Patch selection
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 91a9f50..494911b 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -8,10 +8,13 @@ LINUX_LICENSE = GPLv2
>   LINUX_LICENSE_FILES = COPYING
>
>   # Compute LINUX_SOURCE and LINUX_SITE from the configuration
> -ifeq ($(LINUX_VERSION),custom)
> +ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y)
>   LINUX_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION))
>   LINUX_SITE = $(patsubst %/,%,$(dir $(LINUX_TARBALL)))
>   LINUX_SOURCE = $(notdir $(LINUX_TARBALL))
> +else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_LOCAL),y)
> +LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH))
> +LINUX_SITE_METHOD = local
>   else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y)
>   LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL))
>   LINUX_SITE_METHOD = git
>

Patch

diff --git a/linux/Config.in b/linux/Config.in
index 3c50acc..53e81ba 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -52,6 +52,12 @@  config BR2_LINUX_KERNEL_CUSTOM_GIT
 	  This option allows Buildroot to get the Linux kernel source
 	  code from a Git repository.
 
+config BR2_LINUX_KERNEL_CUSTOM_LOCAL
+	bool "Local directory"
+	help
+	  This option allows Buildroot to get the Linux kernel source
+	  code from a local directory.
+
 endchoice
 
 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
@@ -74,6 +80,12 @@  config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
 	  Git revision to use in the format used by git rev-parse,
 	  E.G. a sha id, a tag, branch, ..
 
+config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
+	string "Path to the local directory"
+	depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
+	help
+	  Path to the local directory with the Linux kernel source code.
+
 config BR2_LINUX_KERNEL_VERSION
 	string
 	default "3.7.6" if BR2_LINUX_KERNEL_3_7
@@ -81,6 +93,7 @@  config BR2_LINUX_KERNEL_VERSION
 	default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION
 	default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
 	default $BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION if BR2_LINUX_KERNEL_CUSTOM_GIT
+	default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
 
 #
 # Patch selection
diff --git a/linux/linux.mk b/linux/linux.mk
index 91a9f50..494911b 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -8,10 +8,13 @@  LINUX_LICENSE = GPLv2
 LINUX_LICENSE_FILES = COPYING
 
 # Compute LINUX_SOURCE and LINUX_SITE from the configuration
-ifeq ($(LINUX_VERSION),custom)
+ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y)
 LINUX_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION))
 LINUX_SITE = $(patsubst %/,%,$(dir $(LINUX_TARBALL)))
 LINUX_SOURCE = $(notdir $(LINUX_TARBALL))
+else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_LOCAL),y)
+LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH))
+LINUX_SITE_METHOD = local
 else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y)
 LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL))
 LINUX_SITE_METHOD = git