On 3/5/19 1:45 PM, Thomas Huth wrote:
If there are special instructions for what to do with
build trees over the transition to kconfig, the pullreq
cover letter would be a good place to mention them :-)
I think you've got to do a "make distclean" inbetween... that's the old
problem when a default-configs/*.mak file gets added or erased - we do
not properly re-generate the dependencies in that case.
As in this?
upgrade path:
build old commit
make distclean
git pull/branch/...
build new commit
downgrade path (when bisecting, backporting, ...)
build new commit
make distclean
git branch/reset/...
build old commit
We obviously can't fix old commits to recognize when we are downgrading
from a new commit, but is there anything we can do when upgrading to a
newer commit to more gracefully inform the user if they forgot a 'make
distclean' (or even better, to not make a 'make distclean' on upgrade
mandatory)? In particular, once this patch series lands, developers
doing a blind 'git pull' will end up in the situation:
build old commit
git pull
build new commit # oops
but may not realize that they first have to reset back to the old commit
prior to 'make distclean' to guarantee that it will work. Unless I'm
mistaken and 'make distclean' on an incremental build will work in spite
of the missing dependencies on *.mak files even when you forgot to clean
before upgrading.
'make distclean' is a heavy hammer, is there anything smaller in scope
that will fix the problem without nuking everything, such as a strategic
touch or rm of one particular file?
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org