[bitbake-devel] [PATCH] siggen: compare runtaskdeps dictionary even when they have the same size

Richard Purdie richard.purdie at linuxfoundation.org
Wed Feb 22 14:37:49 UTC 2012


On Wed, 2012-02-22 at 14:03 +0100, Martin Jansa wrote:
> * otherwise it reports lots of changed checksums just because it compares different tasks
> 
>   notice linux-libc-headers_3.1.bb.do_package_write:
>   Task dependency hash changed from 42acced29debf54d598802474c5e9cbb to f438a54f995df77620d0727d6f4b4ce5 (for linux-libc-headers_3.1.bb.do_package_write and linux-gta04_git.bb.do_deploy)
>   Task dependency hash changed from 61f8babe1d10c6e7fb1423112bb04e1e to 1b3e21ff106ecfcb7ddf76a1e29537bb (for linux-nokia900-meego_git.bb.do_deploy and linux-gta04_git.bb.do_package_write)
>   Task dependency hash changed from 512f9d6686d760b318d8b11c8b589226 to 42acced29debf54d598802474c5e9cbb (for linux-nokia900-meego_git.bb.do_package_write and linux-libc-headers_3.1.bb.do_package_write)
>   Task dependency hash changed from 153e91dfd1d2053fda7b98cc08d4b802 to 92a293bdd8ed234932b87a66025038c5 (for systemd-serialgetty.bb.do_package_write and systemd-serialgetty.bb.do_package_write)
>   Task dependency hash changed from 730abebf9954794bb440c2f3239f79fe to 413eaebaff27a2fd16f5cf68c1f4ff17 (for systemd_git.bb.do_package_write and systemd_git.bb.do_package_write)
> 
>   with this patch:
>   Dependency on task linux-nokia900-meego_git.bb.do_package_write was added
>   Dependency on task linux-nokia900-meego_git.bb.do_deploy was added
>   Dependency on task linux-gta04_git.bb.do_deploy was removed
>   Dependency on task linux-gta04_git.bb.do_package_write was removed
>   Hash for dependent task systemd_git.bb.do_package_write changed from 730abebf9954794bb440c2f3239f79fe to 413eaebaff27a2fd16f5cf68c1f4ff17
>   Hash for dependent task systemd-serialgetty.bb.do_package_write changed from 153e91dfd1d2053fda7b98cc08d4b802 to 92a293bdd8ed234932b87a66025038c5
> 
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

This basically reverts
http://git.openembedded.org/bitbake/commit/?id=7da7dff83ed765c9cde1d7f91ee1b65e49520481
although I guess the elif in the original is no longer present (I can't
decide if that is an issue or not).

The problem is bitbake only cares about the hashes themselves, it
doesn't care about the name attached to them. The name only exists to
aid debugging.

We were therefore seeing bitbake-diffsigs report differences between
sstate files when there was no difference as far as bitbake was
concerned, the hashes just had different tasknames associated with them.
I strongly disliked having bitbake-diffsigs report a difference where
bitbake would treat them the as the same thing.

I'd therefore suggest what the code should do is:

a) Discount duplicates based on hash value regardless of whether the 
   tasknames match or not.
b) Print the differences as per your patch on the data after the 
   removal of the above.

So yes, the code needs to be improved to firstly discount duplicates,
then give a better summary but the patch needs tweaking.

Cheers,

Richard





More information about the bitbake-devel mailing list