]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
sstatesig.py: fix logic in find_siginfo ChenQi/sstatesig-logic
authorChen Qi <Qi.Chen@windriver.com>
Tue, 6 Jan 2015 07:34:43 +0000 (15:34 +0800)
committerChen Qi <Qi.Chen@windriver.com>
Tue, 6 Jan 2015 07:44:00 +0000 (15:44 +0800)
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@windriver.com>
meta/lib/oe/sstatesig.py

index af7617ee61cbccd6cf7a83fff0e3e16a95fc189b..c6c85b9acc22359fc5ed8ee39dc77f3aa018c724 100644 (file)
@@ -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)