From f1f4115f32562f6fe6c34bbbad5d367b1a2da65f Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Mon, 1 Sep 2014 11:20:30 -0300 Subject: fsl-kernel-localversion: Easy LOCALVERSION handling 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') This about avoid code duplication among Layerscape and i.MX. Change-Id: I3999dbdc2cb761063fe5f83dea65ddb14adec80c Signed-off-by: Otavio Salvador --- classes/fsl-kernel-localversion.bbclass | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 classes/fsl-kernel-localversion.bbclass (limited to 'classes') 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 +} -- cgit v1.2.3-54-g00ecf