Skip to contentSkip to conversation

meta/classes/kernel.bbclass: revert 56fe5300ab5

PATCH In review Trevor Woerner 2 participants 4 messages Mar 21, 2017 – Mar 22, 2017

lore
Share & tools
lore
#0 lore raw

cover meta/classes/kernel.bbclass: revert 56fe5300ab5

Changes from v1:
- fixed kernel config option to which this patch refers from CONFIG_LOCALVERSION to CONFIG_LOCALVERSION_AUTO

Trevor Woerner (1):
meta/classes/kernel.bbclass: revert 56fe5300ab5

 meta/classes/kernel.bbclass | 6 ------
 1 file changed, 6 deletions(-)
Signature · 1 line
2.12.0.rc1.48.g076c053
#1 lore raw

PATCH 1/1 meta/classes/kernel.bbclass: revert 56fe5300ab5

This commit effectively reverts 56fe5300ab5 (except doing a revert at this point is not clean).

The Linux kernel contains a configuration option called CONFIG_LOCALVERSION_AUTO which, if enabled, will change the boot log and "uname -a" from, for example, "4.10.2-yocto-standard" to "4.10.2-yocto-standard-00368-g827a1164b155".

According to the log message for 56fe5300ab5, the Linux kernel's scripts/setlocalversion script was leaving or appending a '+' to the end of directory names (e.g. /lib/modules/2.6.37+). This conversation can be seen at:

	http://lists.openembedded.org/pipermail/openembedded-core/2011-December/053263.html

The solution was to touch an empty .scmversion file, which causes the kernel's CONFIG_LOCALVERSION_AUTO logic to be entirely circumvented. This seems like a very big hammer to use in order to fix a trailing '+'. If users were enabling this kernel option, it wasn't having any effect. Also, by default, CONFIG_LOCALVERSION_AUTO is disabled in linux-yocto kernels.

Commit 56fe5300ab5 was many years ago, and my current testing with CONFIG_LOCALVERSION_AUTO enabled and 56fe5300ab5 reverted doesn't appear to cause trailing '+' characters to be appended to filenames in /lib/modules anymore. It appears as though the problem has been fixed somewhere else along the way. In which case, enable this functionality so setting this kernel option gives users the expected result.

---
 meta/classes/kernel.bbclass | 6 ------
 1 file changed, 6 deletions(-)
meta/classes/kernel.bbclass +0 -6
index 1e0646a437..c44978808b 100644
@@ -451,12 +451,6 @@ check_oldest_kernel[vardepsexclude] += "OLDEST_KERNEL KERNEL_VERSION"
 do_configure[prefuncs] += "check_oldest_kernel"
 
 kernel_do_configure() {
-	# fixes extra + in /lib/modules/2.6.37+
-	# $ scripts/setlocalversion . => +
-	# $ make kernelversion => 2.6.37
-	# $ make kernelrelease => 2.6.37+
-	touch ${B}/.scmversion ${S}/.scmversion
-
 	if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
 		mv "${S}/.config" "${B}/.config"
 	fi
Signature · 1 line
2.12.0.rc1.48.g076c053
#2 lore raw

Please don't add this patch, I've found a test case where I see the "+" being added.
(Is there a stronger way of doing this via patchwork?)

Quoted 52 lines · Trevor Woerner

This commit effectively reverts 56fe5300ab5 (except doing a revert at this point is not clean).

The Linux kernel contains a configuration option called CONFIG_LOCALVERSION_AUTO which, if enabled, will change the boot log and "uname -a" from, for example, "4.10.2-yocto-standard" to "4.10.2-yocto-standard-00368-g827a1164b155".

According to the log message for 56fe5300ab5, the Linux kernel's scripts/setlocalversion script was leaving or appending a '+' to the end of directory names (e.g. /lib/modules/2.6.37+). This conversation can be seen at:

        http://lists.openembedded.org/pipermail/openembedded-core/2011-December/053263.html

The solution was to touch an empty .scmversion file, which causes the kernel's CONFIG_LOCALVERSION_AUTO logic to be entirely circumvented. This seems like a very big hammer to use in order to fix a trailing '+'. If users were enabling this kernel option, it wasn't having any effect. Also, by default, CONFIG_LOCALVERSION_AUTO is disabled in linux-yocto kernels.

Commit 56fe5300ab5 was many years ago, and my current testing with CONFIG_LOCALVERSION_AUTO enabled and 56fe5300ab5 reverted doesn't appear to cause trailing '+' characters to be appended to filenames in /lib/modules anymore. It appears as though the problem has been fixed somewhere else along the way. In which case, enable this functionality so setting this kernel option gives users the expected result.

---
 meta/classes/kernel.bbclass | 6 ------
 1 file changed, 6 deletions(-)
meta/classes/kernel.bbclass +0 -7
index 1e0646a437..c44978808b 100644
@@ -451,12 +451,6 @@ check_oldest_kernel[vardepsexclude] += "OLDEST_KERNEL KERNEL_VERSION"
 do_configure[prefuncs] += "check_oldest_kernel"
 
 kernel_do_configure() {
-       # fixes extra + in /lib/modules/2.6.37+
-       # $ scripts/setlocalversion . => +
-       # $ make kernelversion => 2.6.37
-       # $ make kernelrelease => 2.6.37+
-       touch ${B}/.scmversion ${S}/.scmversion
-
        if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
                mv "${S}/.config" "${B}/.config"
        fi
--

2.12.0.rc1.48.g076c053

#3 lore raw
Quoted 4 lines · Trevor Woerner

Please don't add this patch, I've found a test case where I see the "+" being added.
(Is there a stronger way of doing this via patchwork?)

As the submitter you should be able to retract a patch in patchwork, but this message is good enough!

Ross