Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Denys Dmytriyenko" <denis@denix.org>
To: Otavio Salvador <otavio.salvador@gmail.com>
Cc: OpenEmbedded Core Mailing List
	<openembedded-core@lists.openembedded.org>,
	Tom Rini <trini@konsulko.com>, Stefano Babic <sbabic@denx.de>,
	Otavio Salvador <otavio@ossystems.com.br>
Subject: Re: [OE-core] [PATCH] u-boot: Add UBOOT_LOCALVERSION_AUTO support
Date: Tue, 31 Mar 2020 14:07:09 -0400	[thread overview]
Message-ID: <20200331180709.GM1578@denix.org> (raw)
In-Reply-To: <20200331174641.1094071-1-otavio@ossystems.com.br>

On Tue, Mar 31, 2020 at 02:46:41PM -0300, Otavio Salvador wrote:
> Add the Git revision used for the build. It is very useful especially when
> using custom or vendor U-Boot forks so we can map a binary to a specific
> source revision. Valid values are "0" or "1".

Well, UBOOT_LOCALVERSION was originally added specifically for this purpose - 
to be able to append git hash.


> This is based on a class which has been in use in `meta-freescale` BSP
> for years and has been very useful especially for custom U-Boot releases
> as it allow we to know the exact Git revision used for the binary.

And in meta-ti BSP we've used for many years:
UBOOT_LOCALVERSION = "-g${@get_git_revision('${S}')}"

And get_git_revision() just calls "git rev-parse HEAD"

So, it seems a bit redundant to add another variable for this...

-- 
Denys


> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
> 
>  meta/recipes-bsp/u-boot/u-boot.inc | 24 ++++++++++++++++++------
>  1 file changed, 18 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> index b13db224732..39d35500e11 100644
> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> @@ -24,6 +24,11 @@ PACKAGECONFIG[openssl] = ",,openssl-native"
>  # file already exists it will not be overwritten.
>  UBOOT_LOCALVERSION ?= ""
>  
> +# Add the Git revision used for the build. It is very useful especially when
> +# using custom or vendor U-Boot forks so we can map a binary to a specific
> +# source revision. Valid values are "0" or "1".
> +UBOOT_LOCALVERSION_AUTO ?= "0"
> +
>  # Some versions of u-boot use .bin and others use .img.  By default use .bin
>  # but enable individual recipes to change this value.
>  UBOOT_SUFFIX ??= "bin"
> @@ -84,6 +89,19 @@ do_configure () {
>              oe_runmake -C ${S} O=${B} oldconfig
>          fi
>          merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
> +
> +        if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]; then
> +            if [ "${UBOOT_LOCALVERSION_AUTO}" = "1" ]; then
> +                # Add GIT revision to the local version
> +                head=`cd ${S} ; git rev-parse --verify --short HEAD 2> /dev/null`
> +                printf "%s%s%s" "${UBOOT_LOCALVERSION}" +g $head > ${S}/.scmversion
> +                printf "%s%s%s" "${UBOOT_LOCALVERSION}" +g $head > ${B}/.scmversion
> +            else
> +                printf "%s" "${UBOOT_LOCALVERSION}" > ${S}/.scmversion
> +                printf "%s" "${UBOOT_LOCALVERSION}" > ${B}/.scmversion
> +            fi
> +        fi
> +
>          cml1_do_configure
>      else
>          DEVTOOL_DISABLE_MENUCONFIG=true
> @@ -99,12 +117,6 @@ do_compile () {
>  	unset CFLAGS
>  	unset CPPFLAGS
>  
> -	if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
> -	then
> -		echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
> -		echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
> -	fi
> -
>      if [ -n "${UBOOT_CONFIG}" ]
>      then
>          unset i j k
> -- 
> 2.26.0
> 

> 


  reply	other threads:[~2020-03-31 18:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31 17:46 [PATCH] u-boot: Add UBOOT_LOCALVERSION_AUTO support Otavio Salvador
2020-03-31 18:07 ` Denys Dmytriyenko [this message]
2020-03-31 18:18   ` [OE-core] " Otavio Salvador
2020-03-31 18:47     ` Denys Dmytriyenko
2020-03-31 19:20       ` Otavio Salvador

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200331180709.GM1578@denix.org \
    --to=denis@denix.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=otavio.salvador@gmail.com \
    --cc=otavio@ossystems.com.br \
    --cc=sbabic@denx.de \
    --cc=trini@konsulko.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox