Hi Manoj,
> OK. Since you are using git kernels, perhaps you can try this > experiment: Sure. > a) running make-kpkg on a pristine git tree works > b) make some change (add/delete whitespace, or something, so the tree > is not pristine, and run make-kpkg again. Does it still work? > c) Get another pristine git tree, where make-kpkg has not been > run. Now make a change -- so the tree is dirty. _Then_ run > make-kpkg. Does that work? Ok, let's see. First run: CONFIG_LOCALVERSION_AUTO is set: $ sh scripts/setlocalversion -g65c44b40[no newline] a) running make-kpkg by itself creates debian/changelog with version 2.6.21-g65c44b40-pb1 (-pb1 is my local configuration) running it with kernel_image argument starts compiling, and UTS_RELEASE gets set to 2.6.21-g65c44b40-dirty; the kernel then builds and finally make-kpkg reports: The UTS Release version in include/linux/utsrelease.h "2.6.21-g65c44b40-dirty" does not match current version: "2.6.21-g65c44b40" Please correct this. b) make-kpkg has already dirtied the tree (scripts/package/builddeb for example), just rerunning make-kpkg kernel_image gives: The changelog says we are creating 2.6.21-g65c44b40 However, I thought the version is 2.6.21-g65c44b40-dirty c) works just fine, creates version 2.6.21-g65c44b40-dirty-pb1 Now the same without CONFIG_LOCALVERSION_AUTO a) works fine, creates package version 2.6.21-pb1 b) same as before, the tree isn't pristine anyway after invoking make-kpkg. it still works fine and creates 2.6.21-pb1 again c) works fine, creates package version 2.6.21-pb1 So exactly as I claimed before, the problem you're trying to solve only happens when CONFIG_LOCALVERSION_AUTO is set and you're building from a git tree. My typical use case is (c), so I don't care that (a) and (b) don't work when CONFIG_LOCALVERSION_AUTO is set. > If the only failure mode is when CONFIG_LOCALVERSION_AUTO is > set, then I'll just detect that and halt early, and stop nuking the > setlocalversion script. I'd very much appreciate a way out in that case :) > I think we want make-kpkg to still work out of > the box for the three cases above. Unfortunately CONFIG_LOCALVERSION_AUTO is set by default even though it only has an effect on git trees. Where do the default config files come from? make-kpkg doesn't work on a tree without a .config. johannes
signature.asc
Description: This is a digitally signed message part