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.
SVN-Revision: 29686
This commit is contained in:
parent
2d17b67c28
commit
97af76a920
@ -89,6 +89,7 @@ define Kernel/Configure/Default
|
||||
$(call Kernel/SetInitramfs)
|
||||
-$(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
|
||||
rm -rf $(KERNEL_BUILD_DIR)/modules
|
||||
$(SH_FUNC) grep '=[ym]' $(LINUX_DIR)/.config | LC_ALL=C sort | md5s > $(LINUX_DIR)/.vermagic
|
||||
endef
|
||||
|
||||
define Kernel/CompileModules/Default
|
||||
|
@ -13,6 +13,7 @@ ifeq ($(DUMP),1)
|
||||
KERNEL?=<KERNEL>
|
||||
BOARD?=<BOARD>
|
||||
LINUX_VERSION?=<LINUX_VERSION>
|
||||
LINUX_VERMAGIC?=<LINUX_VERMAGIC>
|
||||
else
|
||||
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
||||
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))
|
||||
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)
|
||||
ifneq ($(findstring -rc,$(LINUX_VERSION)),)
|
||||
LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION))))
|
||||
@ -130,7 +134,7 @@ define KernelPackage
|
||||
SECTION:=kernel
|
||||
CATEGORY:=Kernel modules
|
||||
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))
|
||||
$(call KernelPackage/$(1))
|
||||
$(call KernelPackage/$(1)/$(BOARD))
|
||||
|
@ -35,7 +35,7 @@ define Package/kernel
|
||||
CATEGORY:=Kernel
|
||||
DEFAULT:=y
|
||||
TITLE:=Virtual kernel package
|
||||
VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)
|
||||
VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)
|
||||
URL:=http://www.kernel.org/
|
||||
endef
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user