summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-07-11 22:46:16 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2011-07-11 23:43:48 +0200
commitf45f775b4fcb271e5b94b489ad47ffd37f712ce2 (patch)
treedc03e12fee96a0b5597a13407b703997c484d1f9
parent4a665aa9459f6f2ebcb2c46efd4a0a73fb1f9795 (diff)
downloadbuildroot-novena-f45f775b4fcb271e5b94b489ad47ffd37f712ce2.tar.gz
buildroot-novena-f45f775b4fcb271e5b94b489ad47ffd37f712ce2.zip
linux: add support for 3.x and -rc versions
The assumption that all kernels are in http://www.kernel.org/pub/linux/kernel/v2.6/ is no longer true: versions 3.x are in separate directories. We now compute the directory name from the major and minor versions of the version provided by the user. This assumes that the 3.1 version will be in a /v3.1/ directory, which we don't know yet because the 3.1 cycle hasn't started yet. At the same time, we add support for the official -rcX versions. Patch tested by compiling 3.0-rc6, which Buildroot has successfully downloaded and built. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--linux/linux.mk11
1 files changed, 10 insertions, 1 deletions
diff --git a/linux/linux.mk b/linux/linux.mk
index bba49216c..06792382a 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -15,7 +15,16 @@ LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL))
LINUX_SITE_METHOD = git
else
LINUX_SOURCE = linux-$(LINUX_VERSION).tar.bz2
-LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/
+# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order
+# to use the $(word) function. We support versions such as 3.1,
+# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc.
+LINUX_VERSION_MAJOR = $(word 1,$(subst ., ,$(subst -, ,$(LINUX_VERSION))))
+LINUX_VERSION_MINOR = $(word 2,$(subst ., ,$(subst -, ,$(LINUX_VERSION))))
+LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(LINUX_VERSION_MAJOR).$(LINUX_VERSION_MINOR)/
+# release candidates are in testing/ subdir
+ifneq ($(findstring -rc,$(LINUX_VERSION)),)
+LINUX_SITE = $(LINUX_SITE)testing/
+endif # -rc
endif
LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))