Ensure -c menuconfig forces kernel rebuild
cover Ensure -c menuconfig forces kernel rebuild
Note: to have any effect, this change requires a patch just sent to the bitbake-devel list; without it -c menuconfig will behave as it did before.
The following change since commit 6d761ae17ddbd3d936e7fe985b40825ad62b2418:
debian.bbclass: invoke target objdump (2012-06-18 13:20:29 +0100)
is available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/menuconfig-rebuild
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/menuconfig-rebuild
Paul Eggleton (1):
classes/cml1: ensure -c menuconfig forces a rebuild next time
meta/classes/cml1.bbclass | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
Signature · 1 line
1.7.9.5
PATCH 1/1 classes/cml1: ensure -c menuconfig forces a rebuild next time
Ensure the following results in the kernel being rebuilt, repackaged and re-deployed in the final step:
bitbake virtual/kernel
bitbake -c menuconfig virtual/kernel
[ make changes to the kernel configuration and save ] bitbake virtual/kernel
If there are no changes to the configuration saved, the rebuild will not be triggered.
Note that this relies on a function recently added to BitBake and requires full hashing (i.e. BB_SIGNATURE_HANDLER must be set to a signature handler that inherits from BasicHash) - if this is not the case or the function is not available in the version of BitBake being used this change will do nothing.
Fixes [YOCTO #2256].
--- meta/classes/cml1.bbclass | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
meta/classes/cml1.bbclass +16 -0
@@ -15,7 +15,23 @@ HOSTLDFLAGS = "${BUILD_LDFLAGS}" HOST_LOADLIBES = "-lncurses" python do_menuconfig() { + try: + mtime = os.path.getmtime(".config") + except OSError: + mtime = 0 + oe_terminal("${SHELL} -c \"make menuconfig; echo 'Pausing for 5 seconds'; sleep 5\"", '${PN} Configuration', d) + + # FIXME this check can be removed when the minimum bitbake version has been bumped + if hasattr(bb.build, 'write_taint'): + try: + newmtime = os.path.getmtime(".config") + except OSError: + newmtime = 0 + + if newmtime > mtime: + bb.note("Configuration changed, recompile will be forced") + bb.build.write_taint('do_compile', d) } do_menuconfig[depends] += "ncurses-native:do_populate_sysroot" do_menuconfig[nostamp] = "1"
Signature · 1 line
1.7.9.5
Saul Wold
AppliedQuoted 11 lines · Paul Eggleton
Note: to have any effect, this change requires a patch just sent to the bitbake-devel list; without it -c menuconfig will behave as it did before.
The following change since commit
6d761ae17ddbd3d936e7fe985b40825ad62b2418:debian.bbclass: invoke target objdump (2012-06-18 13:20:29 +0100)is available in the git repository at:
Quoted 9 lines
git://git.openembedded.org/openembedded-core-contribpaule/menuconfig-rebuild
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/menuconfig-rebuildPaul Eggleton (1):
classes/cml1: ensure -c menuconfig forces a rebuild next timemeta/classes/cml1.bbclass | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
Merged into OE-Core
Thanks
Sau!