meta-freescale/classes/fsl-kernel-localversion.bbclass
Ming Liu c25cd3a636 fsl-kernel-localversion.bbclass: add preconfigure after do_kernel_metadata
do_preconfigure task should run after do_kernel_metadata, or else there
might be no ${WORKDIR}/defconfig present when KBUILD_DEFCONFIG is being
set rather than defconfig added in SRC_URI.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
2020-11-10 16:23:16 -03:00

44 lines
1.2 KiB
Plaintext

# 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, 2015 (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" >> ${B}/.config
else
echo "CONFIG_$1=$2" >> ${B}/.config
fi
}
do_preconfigure() {
mkdir -p ${B}
echo "" > ${B}/.config
CONF_SED_SCRIPT=""
kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
if [ "${SCMVERSION}" = "y" ]; then
kernel_conf_variable LOCALVERSION_AUTO y
fi
sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
if [ "${SCMVERSION}" = "y" ]; then
# Add GIT revision to the local version
head=`git --git-dir=${S}/.git rev-parse --verify --short HEAD 2> /dev/null`
printf "%s%s" +g $head > ${S}/.scmversion
fi
}
addtask preconfigure before do_configure after do_unpack do_patch do_kernel_metadata