mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-24 02:48:26 +02:00
include: calculate md5sum over sorted kernel config symbol list and incorperate it into the kernel metapackage version, make kmods depend on this specific version.
The aim of this change is to invalidate kmods which are built against a different kernel config on the opkg metadata level. Manual copying and insmod of custom *.ko files, e.g. for development purpose, is still possible. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29686 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
4cd49acd61
commit
6483a9f739
@ -89,6 +89,7 @@ define Kernel/Configure/Default
|
|||||||
$(call Kernel/SetInitramfs)
|
$(call Kernel/SetInitramfs)
|
||||||
-$(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
|
-$(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
|
||||||
rm -rf $(KERNEL_BUILD_DIR)/modules
|
rm -rf $(KERNEL_BUILD_DIR)/modules
|
||||||
|
$(SH_FUNC) grep '=[ym]' $(LINUX_DIR)/.config | LC_ALL=C sort | md5s > $(LINUX_DIR)/.vermagic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Kernel/CompileModules/Default
|
define Kernel/CompileModules/Default
|
||||||
|
@ -13,6 +13,7 @@ ifeq ($(DUMP),1)
|
|||||||
KERNEL?=<KERNEL>
|
KERNEL?=<KERNEL>
|
||||||
BOARD?=<BOARD>
|
BOARD?=<BOARD>
|
||||||
LINUX_VERSION?=<LINUX_VERSION>
|
LINUX_VERSION?=<LINUX_VERSION>
|
||||||
|
LINUX_VERMAGIC?=<LINUX_VERMAGIC>
|
||||||
else
|
else
|
||||||
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
||||||
export GCC_HONOUR_COPTS=s
|
export GCC_HONOUR_COPTS=s
|
||||||
@ -35,6 +36,9 @@ else
|
|||||||
KERNEL_BUILD_DIR ?= $(BUILD_DIR_BASE)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX))
|
KERNEL_BUILD_DIR ?= $(BUILD_DIR_BASE)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX))
|
||||||
LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
|
LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
|
||||||
|
|
||||||
|
LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null))
|
||||||
|
LINUX_VERMAGIC:=$(if $(LINUX_VERMAGIC),$(LINUX_VERMAGIC),unknown)
|
||||||
|
|
||||||
LINUX_UNAME_VERSION:=$(if $(word 3,$(subst ., ,$(KERNEL_BASE))),$(KERNEL_BASE),$(KERNEL_BASE).0)
|
LINUX_UNAME_VERSION:=$(if $(word 3,$(subst ., ,$(KERNEL_BASE))),$(KERNEL_BASE),$(KERNEL_BASE).0)
|
||||||
ifneq ($(findstring -rc,$(LINUX_VERSION)),)
|
ifneq ($(findstring -rc,$(LINUX_VERSION)),)
|
||||||
LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION))))
|
LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION))))
|
||||||
@ -130,7 +134,7 @@ define KernelPackage
|
|||||||
SECTION:=kernel
|
SECTION:=kernel
|
||||||
CATEGORY:=Kernel modules
|
CATEGORY:=Kernel modules
|
||||||
DESCRIPTION:=$(DESCRIPTION)
|
DESCRIPTION:=$(DESCRIPTION)
|
||||||
EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE))
|
EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC))
|
||||||
VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE))
|
VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE))
|
||||||
$(call KernelPackage/$(1))
|
$(call KernelPackage/$(1))
|
||||||
$(call KernelPackage/$(1)/$(BOARD))
|
$(call KernelPackage/$(1)/$(BOARD))
|
||||||
|
@ -35,7 +35,7 @@ define Package/kernel
|
|||||||
CATEGORY:=Kernel
|
CATEGORY:=Kernel
|
||||||
DEFAULT:=y
|
DEFAULT:=y
|
||||||
TITLE:=Virtual kernel package
|
TITLE:=Virtual kernel package
|
||||||
VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)
|
VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)
|
||||||
URL:=http://www.kernel.org/
|
URL:=http://www.kernel.org/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user