mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-12-18 08:36:21 +01:00
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>
490 B
490 B
#!/bin/sh
Print additional version information for non-release trees.
usage() { echo "Usage: $0 [srctree]" >&2 exit 1 }
cd "${1:-.}" || usage
Check for git and a git repo.
if head=git rev-parse --verify HEAD 2>/dev/null; then
# Do we have an untagged version?
if [ "git name-rev --tags HEAD" = "HEAD undefined" ]; then
printf '%s%s' -g echo "$head" | cut -c1-8
fi
# Are there uncommitted changes?
if git diff-files | read dummy; then
printf '%s' -git_dirty
fi
fi