Currently scripts/setlocalversion is a Perl script that tries to figure
out the current git commit ID of a repo without using git. It also
imports Digest::MD5 without using it and generally is too big for the
small task it does. :] And it always reports a git ID, even when the
HEAD is tagged -- this is a bug.
This patch replaces it with a Bourne Shell script that uses git
commands to do the same. I can't come up with a scenario where someone
would use a git repo and refuse to install git core at the same time,
so I think it's reasonable to assume git is available.
The new script also reports uncommitted changes by adding -git_dirty to
the version string. Obviously you can't see from that _what_ has been
changed from the last commit, so it's more of a reminder that you
forgot to commit something.
The script is easily extensible: simply add a check for Mercurial (or
whatever) below the git check.
Note: the script doesn't print a newline char anymore. That's only
because it was easier to implement it that way, not a feature (or bug).
'make kernelrelease' doesn't care.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Acked-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>