1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-06-30 22:59:50 +03: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:
jow 2012-01-08 15:23:11 +00:00
parent 4cd49acd61
commit 6483a9f739
3 changed files with 7 additions and 2 deletions

View File

@ -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

View File

@ -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))

View File

@ -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