package/linux-headers: apply all Linux patches when BR2_KERNEL_HEADERS_AS_KERNEL=y
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 4 Aug 2019 09:36:44 +0000 (11:36 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 4 Aug 2019 10:53:03 +0000 (12:53 +0200)
When BR2_KERNEL_HEADERS_AS_KERNEL=y, we expect that the Linux kernel
headers code will be exactly the same as the Linux kernel code
itself. The code currently takes into account the patches defined by
BR2_LINUX_KERNEL_PATCH, but not the kernel patches that are stored in
linux's BR2_GLOBAL_PATCH_DIR.

So for example, the current qemu_riscv32_virt_defconfig has:

BR2_GLOBAL_PATCH_DIR="board/qemu/riscv32-virt/patches/"

With:

board/qemu/riscv32-virt/patches/
└── linux
    └── 0001-Revert-riscv-Use-latest-system-call-ABI.patch

This patch gets properly applied when the Linux kernel is built, but
not when the linux-headers package is built.

This commit fixes that by making sure patches stored in the "linux"
BR2_GLOBAL_PATCH_DIR subdirectory are taken into account.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/linux-headers/linux-headers.mk

index 95432ade83d04c8d225232820c65323ab98a8cc7..46f270a0e1db4afcd87873e63a9587558d2f2218 100644 (file)
@@ -60,7 +60,8 @@ endif # LINUX_HEADERS_CUSTOM_TARBALL
 # Apply any necessary patches if we are using the headers from a kernel
 # build.
 ifeq ($(BR2_KERNEL_HEADERS_AS_KERNEL),y)
-LINUX_HEADERS_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
+LINUX_HEADERS_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) \
+       $(wildcard $(addsuffix /linux,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR))))
 
 # We rely on the generic package infrastructure to download and apply
 # remote patches (downloaded from ftp, http or https). For local