[oe-commits] Paul Eggleton : classes/cml1: ensure -c menuconfig forces a rebuild next time

git at git.openembedded.org git at git.openembedded.org
Wed Oct 10 22:34:36 UTC 2012


Module: openembedded-core.git
Branch: denzil
Commit: a9600e68e64a111be4cb934e14b914fa553b5654
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a9600e68e64a111be4cb934e14b914fa553b5654

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Mon Jun 18 16:50:50 2012 +0100

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].

(From OE-Core rev: 9bf6b60e1599cf5dd87089d42584583cdfd6807a)

Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/cml1.bbclass |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/meta/classes/cml1.bbclass b/meta/classes/cml1.bbclass
index d429188..678d23c 100644
--- a/meta/classes/cml1.bbclass
+++ b/meta/classes/cml1.bbclass
@@ -10,7 +10,23 @@ addtask configure after do_unpack do_patch before do_compile
 inherit terminal
 
 python do_menuconfig() {
+        try:
+            mtime = os.path.getmtime(".config")
+        except OSError:
+            mtime = 0
+
         oe_terminal("make menuconfig", '${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[nostamp] = "1"
 addtask menuconfig after do_configure





More information about the Openembedded-commits mailing list