[meta-freescale] [meta-fsl-arm][PATCH 1/5] fsl-kernel-localversion: Easy LOCALVERSION handling

Otavio Salvador otavio at ossystems.com.br
Sun Aug 31 15:32:53 PDT 2014


This class allow for easy extending of kernel recipes to easy the
LOCALVERSION handling, allowing to reuse of code between different
kernel recipes

The following options are supported:

 SCMVERSION        Puts the Git hash in kernel local version
 LOCALVERSION      Value used in LOCALVERSION (default to '+fslc')

Change-Id: I3999dbdc2cb761063fe5f83dea65ddb14adec80c
Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 classes/fsl-kernel-localversion.bbclass |   39 +++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 classes/fsl-kernel-localversion.bbclass

diff --git a/classes/fsl-kernel-localversion.bbclass b/classes/fsl-kernel-localversion.bbclass
new file mode 100644
index 0000000..bb4bdf5
--- /dev/null
+++ b/classes/fsl-kernel-localversion.bbclass
@@ -0,0 +1,39 @@
+# Freescale Kernel LOCALVERSION extension
+#
+# This allow to easy reuse of code between different kernel recipes
+#
+# The following options are supported:
+#
+#  SCMVERSION        Puts the Git hash in kernel local version
+#  LOCALVERSION      Value used in LOCALVERSION (default to '+fslc')
+#
+# Copyright 2014 (C) O.S. Systems Software LTDA.
+
+SCMVERSION ??= "y"
+LOCALVERSION ??= "+fslc"
+
+kernel_conf_variable() {
+	CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
+	if test "$2" = "n"
+	then
+		echo "# CONFIG_$1 is not set" >> ${S}/.config
+	else
+		echo "CONFIG_$1=$2" >> ${S}/.config
+	fi
+}
+
+do_configure_prepend() {
+	echo "" > ${S}/.config
+	CONF_SED_SCRIPT=""
+
+	kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
+	kernel_conf_variable LOCALVERSION_AUTO y
+
+	sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${S}/.config'
+
+	if [ "${SCMVERSION}" = "y" ]; then
+		# Add GIT revision to the local version
+		head=`git rev-parse --verify --short HEAD 2> /dev/null`
+		printf "%s%s" +g $head > ${S}/.scmversion
+	fi
+}
-- 
1.7.10.4



More information about the meta-freescale mailing list