Hi,
I've build by 'accident' and stable kernel inside a git repo and noticed an strange bug.
setlocalversion will append a git revision to the kernel even is not an git one.
to reproduce create some dir and cd in there:
git init
git config user.email "[email protected]"
git config user.name "blah"
touch a b c
git add *
git commit -a
git rev-parse --verify HEAD 2
7e671bce0cdc4ace727794dc79d5b426551ae5b8
now get any kernel tarball from kernel.org , unpack and build it with make V=1
--($:/work/crazy/bug/linux-2.6.24-rc2)-- LC_ALL=C; ls -d .git
/usr/bin/ls: cannot access .git: No such file or directory
( we are not git )
...
--($:/work/crazy/bug/linux-2.6.24-rc2)-- make V=1
rm -f include/config/kernel.release
echo 2.6.24-rc2-g7e671bce > include/config/kernel.release <-- buggy
...
Possible fix is to add and check before :
# Check for git and a git repo.
if head=`git rev-parse --verify HEAD 2>/dev/null`; then
which actually is missing the 'git' check ;)
if [ -d ".git" ]; then
if head=`git rev-parse --verify HEAD 2>/dev/null`; then
...
fi
or some git magic command I don't know yet =)
Regards,
Gabriel