summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/kernel-arch.bbclass7
-rw-r--r--meta/classes/kernel.bbclass6
2 files changed, 11 insertions, 2 deletions
diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass
index 4cd08b96fb..0a79dea0af 100644
--- a/meta/classes/kernel-arch.bbclass
+++ b/meta/classes/kernel-arch.bbclass
@@ -66,3 +66,10 @@ KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
66KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}" 66KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}"
67TOOLCHAIN ?= "gcc" 67TOOLCHAIN ?= "gcc"
68 68
69# 6.3+ requires the variable LOCALVERSION to be set to not get a "+" in
70# the local version. Having it empty means nothing will be added, and any
71# value will be appended to the local kernel version. This replaces the
72# use of .scmversion file for setting a localversion without using
73# the CONFIG_LOCALVERSION option.
74KERNEL_LOCALVERSION ??= ""
75export LOCALVERSION ?= "${KERNEL_LOCALVERSION}"
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 80fb1879b0..940f1a3cf4 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -418,7 +418,7 @@ do_compile_kernelmodules() {
418 if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then 418 if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
419 oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS} 419 oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS}
420 420
421 # Module.symvers gets updated during the 421 # Module.symvers gets updated during the
422 # building of the kernel modules. We need to 422 # building of the kernel modules. We need to
423 # update this in the shared workdir since some 423 # update this in the shared workdir since some
424 # external kernel modules has a dependency on 424 # external kernel modules has a dependency on
@@ -614,7 +614,6 @@ do_shared_workdir () {
614# We don't need to stage anything, not the modules/firmware since those would clash with linux-firmware 614# We don't need to stage anything, not the modules/firmware since those would clash with linux-firmware
615SYSROOT_DIRS = "" 615SYSROOT_DIRS = ""
616 616
617KERNEL_LOCALVERSION ??= ""
618KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig" 617KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig"
619 618
620python check_oldest_kernel() { 619python check_oldest_kernel() {
@@ -636,6 +635,9 @@ kernel_do_configure() {
636 # $ scripts/setlocalversion . => + 635 # $ scripts/setlocalversion . => +
637 # $ make kernelversion => 2.6.37 636 # $ make kernelversion => 2.6.37
638 # $ make kernelrelease => 2.6.37+ 637 # $ make kernelrelease => 2.6.37+
638 # See kernel-arch.bbclass for post v6.3 removal of the extra
639 # + in localversion. .scmversion is no longer used, and the
640 # variable LOCALVERSION must be used
639 if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]; then 641 if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]; then
640 echo ${KERNEL_LOCALVERSION} > ${B}/.scmversion 642 echo ${KERNEL_LOCALVERSION} > ${B}/.scmversion
641 echo ${KERNEL_LOCALVERSION} > ${S}/.scmversion 643 echo ${KERNEL_LOCALVERSION} > ${S}/.scmversion