kernel-headers: adjust PKG_ variables when using git clone method
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 17 Jan 2018 10:55:15 +0000 (12:55 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 27 Jan 2018 15:46:45 +0000 (16:46 +0100)
When using an external git clone for the kernel repo,
the build would fail because the build won't download
[via git] the kernel tarball.

This is because the `toolchain/kernel-headers` assumes
that the kernel would get downloaded via normal HTTP.
The reason for this is the `HostBuild` rule, which
calls the `Download/default` rule.

To use the `Download/default` we just need to conditionally
adjust some PKG_ vars.

We can safely use `LINUX_VERSION` as it was already adjusted
in the `kernel-version.mk` to avoid collisions with other tarballs.

Fixes:
 https://bugs.openwrt.org/index.php?do=details&task_id=503

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
toolchain/kernel-headers/Makefile

index e374e706e1dae6714da8defd349de3635a0545b2..f7842cb9bd8b8659da305928519850c27b2e0bf6 100644 (file)
@@ -17,7 +17,13 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=linux
 PKG_VERSION:=$(LINUX_VERSION)
 PKG_SOURCE:=$(LINUX_SOURCE)
 PKG_NAME:=linux
 PKG_VERSION:=$(LINUX_VERSION)
 PKG_SOURCE:=$(LINUX_SOURCE)
-PKG_SOURCE_URL:=$(LINUX_SITE)
+ifneq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
+  PKG_SOURCE_PROTO:=git
+  PKG_SOURCE_URL:=$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI))
+  PKG_SOURCE_VERSION:=$(CONFIG_KERNEL_GIT_REF)
+else
+  PKG_SOURCE_URL:=$(LINUX_SITE)
+endif
 HOST_BUILD_DIR:=$(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
 PKG_HASH:=$(LINUX_KERNEL_HASH)
 LINUX_DIR := $(HOST_BUILD_DIR)
 HOST_BUILD_DIR:=$(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
 PKG_HASH:=$(LINUX_KERNEL_HASH)
 LINUX_DIR := $(HOST_BUILD_DIR)