Hi,
I've been fiddling around with the same problem for a while, here are my
findings (and a suggestion for the real fix).
The version that kernel-package finds for me is
2.6.22-rc4-g4d33a504-dirty-g4d33a504-dirty-dirty.
This version is created at debian/ruleset/misc/version_vars.mk:155
version =
$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(iatv)$(LOCALVERSION)$(GIT_VERSION)
Here, $LOCALVERSION = -g4d33a504-dirty and $GIT_VERSION = -g4d33a504-dirty-dirty
I'm not really sure what these variables actually mean and are supposed to
hold, but I find the initalization of GIT_VERSION a bit weird at
debian/ruleset/misc/version_vars.mk:98
ifneq ($(strip $(CONFIG_LOCALVERSION_AUTO)),)
GIT_VERSION=$(shell /bin/sh scripts/setlocalversion)
ifneq ($(strip $(GIT_VERSION)),)
GIT_VERSION:=$(GIT_VERSION)-dirty
endif
endif
It would appear to me that 'setlocaversion' is supposed to set LOCALVERSION,
not GIT_VERSION ? Seemingly it does, since GIT_VERSION contains LOCALVERSION
with -dirty appended, as you would expect from this code.
The main problem here is that the kernel itself (in utsrelease.h IIRC) thinks
it's just 2.6.22-rc4-g4d33a504-dirty, without that GIT_VERSION crap. Halfway
into the build process, this generates a version mismatch error.
unsetting CONFIG_LOCALVERSION_AUTO fixes compile for me too, the version is now
simply 2.6.22-rc4.
In the main kernel Makefile:798, I find
# If CONFIG_LOCALVERSION_AUTO is set scripts/setlocalversion is called
# and if the SCM is know a tag from the SCM is appended.
# The appended tag is determined by the SCM used.
#
# Currently, only git is supported.
# Other SCMs can edit scripts/setlocalversion and add the appropriate
# checks as needed.
ifdef CONFIG_LOCALVERSION_AUTO
_localver-auto = $(shell $(CONFIG_SHELL) \
$(srctree)/scripts/setlocalversion $(srctree))
localver-auto = $(LOCALVERSION)$(_localver-auto)
endif
localver-full = $(localver)$(localver-auto)
This means that the CONFIG_LOCALVERSION_AUTO stuff is already done by the
kernel Makefile itself and there is no need for version_vars.mk to fiddle
around with GIT_VERSION anymore. AFAICS, the proper fix would be to throw out
GIT_VERSION alltogether? Perhaps it was needed for older kernels, so it should
get a version guard?
Anyway, just my EUR 0,02.
Gr.
Matthijs
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]