scripts/setlocalversion: Reinstate .scmversion support
authorMarek Vasut <marex@denx.de>
Sun, 2 Mar 2025 18:30:28 +0000 (19:30 +0100)
committerTom Rini <trini@konsulko.com>
Thu, 29 May 2025 17:29:20 +0000 (11:29 -0600)
The .scmversion is used by oe-core to append U-Boot version string.

LOCALVERSION is not fully compatible replacement as it adds trailing
"-dirty" string at the end of version string in case the U-Boot git
tree contains uncommitted changes. This behavior itself is correct.
However, OE builds do clone U-Boot sources from git and may apply
additional patches on top, which are not tracked in U-Boot git tree,
but rather in the OE metalayer git tree, which leads to the addition
of "-dirty" string as well.

The .scmversion used by oe-core used to replace the version string
suffix fully, including the "-dirty" string. Reinstate support for
the .scmversion to let OE core do exactly that as it used to do it.

Fixes: 5c02350fa03d ("scripts/setlocalversion: sync with linux v6.9")
Signed-off-by: Marek Vasut <marex@denx.de>
scripts/setlocalversion

index dbe0482..26d1218 100755 (executable)
@@ -48,6 +48,10 @@ scm_version()
        done
 
        cd "$srctree"
+       if test -e .scmversion; then
+               cat .scmversion
+               return
+       fi
 
        if test -n "$(git rev-parse --show-cdup 2>/dev/null)"; then
                return