kbuild: tag with git revision when git describe is missing

setlocalversion used to use an abbreviated git commit sha1 to generate the
tag. This was changed in commit d882421f4e08ddf0a94245cdbe516db260aa6f41
"kbuild: change CONFIG_LOCALVERSION_AUTO to use a git-describe-ish format"
to use git describe to come up with a tag. Which is nice, but git describe
sometimes can't describe the revision.
Commit 56b2f0706d82535fd8d85503f2dcc0be40c8e55d ("setlocalversion: do not
describe if there is nothing to describe") addressed this, but there is still
no tag generated.

So, generate a plain abbreviated sha1 tag like setlocalversion used to when
git describe comes up short.

Signed-off-by: Trent Piepho <tpiepho@freescale.com>
CC: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

authored by Trent Piepho and committed by Sam Ravnborg f03b283f e6e6733e

+3 -1
+3 -1
scripts/setlocalversion
··· 9 cd "${1:-.}" || usage 10 11 # Check for git and a git repo. 12 - if head=`git rev-parse --verify HEAD 2>/dev/null`; then 13 # Do we have an untagged version? 14 if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then 15 if tag=`git describe 2>/dev/null`; then 16 echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' 17 fi 18 fi 19
··· 9 cd "${1:-.}" || usage 10 11 # Check for git and a git repo. 12 + if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then 13 # Do we have an untagged version? 14 if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then 15 if tag=`git describe 2>/dev/null`; then 16 echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' 17 + else 18 + printf '%s%s' -g $head 19 fi 20 fi 21