From: Otavio Salvador Date: Mon, 1 Sep 2014 14:20:30 +0000 (-0300) Subject: fsl-kernel-localversion: Easy LOCALVERSION handling X-Git-Tag: 2.1~861 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=a83d032731e12da9297b696a6d08c014d81640db;p=meta-freescale.git 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 --- diff --git a/meta-fsl-arm/classes/fsl-kernel-localversion.bbclass b/meta-fsl-arm/classes/fsl-kernel-localversion.bbclass new file mode 100644 index 00000000..bb4bdf59 --- /dev/null +++ b/meta-fsl-arm/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 +}