[OE-core] [PATCH 1/1] sstatesig.py: fix logic in find_siginfo

Chen Qi Qi.Chen at windriver.com
Tue Jan 6 07:47:38 UTC 2015


For now, `bitbake-diffsig -t <recipe> <task>' doesn't work. This is
caused by a small logic mistake in find_siginfo in sstatesig.py.

The logic should be 'and' instead of 'or', otherwise, we will have
both siginfo and sigdata files in filedates which have the same checksum.
e.g.
/buildarea2/chenqi/sstate-cache/fc/sstate:sysstat:armv5te-poky-linux-gnueabi:10.2.1:r0:armv5te:3:fc861bf371c1b843b2843a3415eb5ff3_install.tgz.siginfo
/buildarea2/chenqi/poky/build-systemd/tmp/stamps/armv5te-poky-linux-gnueabi/sysstat/10.2.1-r0.do_install.sigdata.fc861bf371c1b843b2843a3415eb5ff3

So `bitbake-diffsig -t sysstat install' will output nothing even we actually
have changed something in do_install task.

Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
 meta/lib/oe/sstatesig.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index af7617e..c6c85b9 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -234,7 +234,7 @@ def find_siginfo(pn, taskname, taskhashlist, d):
             except OSError:
                 continue
 
-    if not taskhashlist or (len(filedates) < 2 and not foundall):
+    if not taskhashlist and (len(filedates) < 2 and not foundall):
         # That didn't work, look in sstate-cache
         hashes = taskhashlist or ['*']
         localdata = bb.data.createCopy(d)
-- 
1.9.1




More information about the Openembedded-core mailing list