diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2012-01-08 15:23:11 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2012-01-08 15:23:11 +0000 |
commit | 97af76a92047a9034cd394e08c715949eea68837 (patch) | |
tree | bcc402400fe3b940c1eca1c4b18176fe382866ee | |
parent | 2d17b67c28e8b1279b53c09881259cd819336fab (diff) | |
download | mtk-20170518-97af76a92047a9034cd394e08c715949eea68837.zip mtk-20170518-97af76a92047a9034cd394e08c715949eea68837.tar.gz mtk-20170518-97af76a92047a9034cd394e08c715949eea68837.tar.bz2 |
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
-rw-r--r-- | include/kernel-defaults.mk | 1 | ||||
-rw-r--r-- | include/kernel.mk | 6 | ||||
-rw-r--r-- | package/kernel/Makefile | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index 5fd27ae..52ce037 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -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 diff --git a/include/kernel.mk b/include/kernel.mk index 1af072d..c0d8ef8 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -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)) diff --git a/package/kernel/Makefile b/package/kernel/Makefile index 13a305d..e094c60 100644 --- a/package/kernel/Makefile +++ b/package/kernel/Makefile @@ -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 |