[source] include/kernel: Switch to git download method
LEDE Commits
lede-commits at lists.infradead.org
Sun Dec 4 02:42:10 PST 2016
nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/9a08c0ba807b7e362de5afe78140f3bb4188746c
commit 9a08c0ba807b7e362de5afe78140f3bb4188746c
Author: Florian Fainelli <f.fainelli at gmail.com>
AuthorDate: Wed Nov 9 09:34:18 2016 -0800
include/kernel: Switch to git download method
Utilize the existing git download logic from include/download.mk and migrate
the kernel download over to it. This avoids repeatedly cloning kernel sources
after a make target/linux/clean for instance.
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
Signed-off-by: Felix Fietkau <nbd at nbd.name> [fix build error]
---
include/kernel-build.mk | 19 +++++++++++++++++++
include/kernel-defaults.mk | 11 +----------
2 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 04878f8..062c458 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -46,6 +46,24 @@ define Download/kernel
MD5SUM:=$(LINUX_KERNEL_MD5SUM)
endef
+KERNEL_GIT_OPTS:=
+ifneq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"")
+ KERNEL_GIT_OPTS+=--reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)
+endif
+
+ifneq ($(strip $(CONFIG_KERNEL_GIT_BRANCH)),"")
+ KERNEL_GIT_OPTS+=--branch $(CONFIG_KERNEL_GIT_BRANCH)
+endif
+
+define Download/git-kernel
+ URL:=$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI))
+ PROTO:=git
+ VERSION:=$(CONFIG_KERNEL_GIT_BRANCH)
+ FILE:=$(LINUX_SOURCE)
+ SUBDIR:=linux-$(KERNEL_PATCHVER)
+ OPTS:=$(KERNEL_GIT_OPTS)
+endef
+
ifdef CONFIG_COLLECT_KERNEL_DEBUG
define Kernel/CollectDebug
rm -rf $(KERNEL_BUILD_DIR)/debug
@@ -73,6 +91,7 @@ endif
define BuildKernel
$(if $(QUILT),$(Build/Quilt))
$(if $(LINUX_SITE),$(call Download,kernel))
+ $(if $(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),$(call Download,git-kernel))
.NOTPARALLEL:
diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
index eff4700..a17b489 100644
--- a/include/kernel-defaults.mk
+++ b/include/kernel-defaults.mk
@@ -49,15 +49,6 @@ export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include
# defined in quilt.mk
Kernel/Patch:=$(Kernel/Patch/Default)
-KERNEL_GIT_OPTS:=
-ifneq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"")
- KERNEL_GIT_OPTS+=--reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)
-endif
-
-ifneq ($(strip $(CONFIG_KERNEL_GIT_BRANCH)),"")
- KERNEL_GIT_OPTS+=--branch $(CONFIG_KERNEL_GIT_BRANCH)
-endif
-
ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
define Kernel/Prepare/Default
@@ -67,7 +58,7 @@ ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
endef
else
define Kernel/Prepare/Default
- git clone $(KERNEL_GIT_OPTS) $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
+ xzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
endef
endif
else
More information about the lede-commits
mailing list