diff options
-rw-r--r-- | meta/classes/kernel-arch.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/kernel.bbclass | 6 |
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}" | |||
66 | KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}" | 66 | KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}" |
67 | TOOLCHAIN ?= "gcc" | 67 | TOOLCHAIN ?= "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. | ||
74 | KERNEL_LOCALVERSION ??= "" | ||
75 | export 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 |
615 | SYSROOT_DIRS = "" | 615 | SYSROOT_DIRS = "" |
616 | 616 | ||
617 | KERNEL_LOCALVERSION ??= "" | ||
618 | KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig" | 617 | KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig" |
619 | 618 | ||
620 | python check_oldest_kernel() { | 619 | python 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 |