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
3 changed files with 7 additions and 2 deletions
|
@ -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 a new issue