Patchwork [1,of,3] linux: add support for custom Mercurial repository

login
register
mail settings
Submitter Thomas De Schampheleire
Date July 19, 2013, 11:27 a.m.
Message ID <301f1051caabe2cf9f48.1374233232@BEANTN0L019720>
Download mbox | patch
Permalink /patch/260243/
State Superseded
Headers show

Comments

Thomas De Schampheleire - July 19, 2013, 11:27 a.m.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 linux/Config.in |  27 ++++++++++++++++++---------
 linux/linux.mk  |   5 ++++-
 2 files changed, 22 insertions(+), 10 deletions(-)
Peter Korsgaard - July 21, 2013, 10:09 p.m.
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> writes:

 Thomas> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
 Thomas> ---
 Thomas>  linux/Config.in |  27 ++++++++++++++++++---------
 Thomas>  linux/linux.mk  |   5 ++++-
 Thomas>  2 files changed, 22 insertions(+), 10 deletions(-)

 Thomas> diff --git a/linux/Config.in b/linux/Config.in
 Thomas> --- a/linux/Config.in
 Thomas> +++ b/linux/Config.in
 Thomas> @@ -52,6 +52,12 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT
 Thomas>  	  This option allows Buildroot to get the Linux kernel source
 Thomas>  	  code from a Git repository.
 
 Thomas> +config BR2_LINUX_KERNEL_CUSTOM_HG
 Thomas> +	bool "Custom Mercurial repository"
 Thomas> +	help
 Thomas> +	  This option allows Buildroot to get the Linux kernel source
 Thomas> +	  code from a Mercurial repository.
 Thomas> +
 Thomas>  endchoice
 
 Thomas>  config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
 Thomas> @@ -62,25 +68,28 @@ config BR2_LINUX_KERNEL_CUSTOM_TARBALL_L
 Thomas>  	string "URL of custom kernel tarball"
 Thomas>  	depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
 
 Thomas> -config BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL
 Thomas> -	string "URL of custom Git repository"
 Thomas> -	depends on BR2_LINUX_KERNEL_CUSTOM_GIT
 Thomas> +if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
 
 Thomas> -config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
 Thomas> -	string "Custom Git version"
 Thomas> -	default "HEAD"
 Thomas> -	depends on BR2_LINUX_KERNEL_CUSTOM_GIT

Please add Config.in.legacy entries for these.

 Thomas> +config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
 Thomas> +	string "URL of custom repository"
 Thomas> +
 Thomas> +config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
 Thomas> +	string "Custom repository version"
 Thomas> +	default "HEAD" if BR2_LINUX_KERNEL_CUSTOM_GIT
 Thomas> +	default "tip" if BR2_LINUX_KERNEL_CUSTOM_HG

I know we had this already for git, but these are not really good
defaults as buildroot will only download these once and not update the
tarballs even though HEAD/tip changes - So I think we should just
default to "".

Patch

diff --git a/linux/Config.in b/linux/Config.in
--- 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_HG
+	bool "Custom Mercurial repository"
+	help
+	  This option allows Buildroot to get the Linux kernel source
+	  code from a Mercurial repository.
+
 endchoice
 
 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
@@ -62,25 +68,28 @@  config BR2_LINUX_KERNEL_CUSTOM_TARBALL_L
 	string "URL of custom kernel tarball"
 	depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
 
-config BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL
-	string "URL of custom Git repository"
-	depends on BR2_LINUX_KERNEL_CUSTOM_GIT
+if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
 
-config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
-	string "Custom Git version"
-	default "HEAD"
-	depends on BR2_LINUX_KERNEL_CUSTOM_GIT
+config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
+	string "URL of custom repository"
+
+config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
+	string "Custom repository version"
+	default "HEAD" if BR2_LINUX_KERNEL_CUSTOM_GIT
+	default "tip" if BR2_LINUX_KERNEL_CUSTOM_HG
 	help
-	  Git revision to use in the format used by git rev-parse,
+	  Revision to use in the typical format used by Git/Mercurial
 	  E.G. a sha id, a tag, branch, ..
 
+endif
+
 config BR2_LINUX_KERNEL_VERSION
 	string
 	default "3.10.1" if BR2_LINUX_KERNEL_LATEST_VERSION
 	default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
 	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 $BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION if BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_GIT
 
 #
 # Patch selection
diff --git a/linux/linux.mk b/linux/linux.mk
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -14,8 +14,11 @@  LINUX_TARBALL = $(call qstrip,$(BR2_LINU
 LINUX_SITE = $(patsubst %/,%,$(dir $(LINUX_TARBALL)))
 LINUX_SOURCE = $(notdir $(LINUX_TARBALL))
 else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y)
-LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL))
+LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
 LINUX_SITE_METHOD = git
+else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_HG),y)
+LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
+LINUX_SITE_METHOD = hg
 else
 LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz
 # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order