[bitbake-devel] [PATCH 00/11] bitbake-diffsigs fixes/improvements

Paul Eggleton paul.eggleton at linux.intel.com
Fri Apr 7 08:29:18 UTC 2017


Hi Patrick,

On Friday, 7 April 2017 7:56:19 PM NZST Patrick Ohly wrote:
> On Fri, 2017-04-07 at 09:52 +1200, Paul Eggleton wrote:
> > As part of an effort to add task signature recording and comparison to
> > buildhistory in OE, I went digging into bitbake-diffsigs and the code
> > that supports it and discovered that unfortunately it had a number of
> > bugs - in particular the -t option despite being around for a while and
> > having numerous band-aids applied in the past still wasn't really
> > working properly.
> 
> I'm not sure whether it is working now, even with your changes. My
> test, using poky master and your bitbake branch:
> 
> 1. bitbake -c cleansstate m4
> 2. bitbake m4
> 3. patch m4:
> diff --git a/meta/recipes-devtools/m4/m4_1.4.18.bb
> b/meta/recipes-devtools/m4/m4_1.4.18.bb
> index b12c0adf3ad..0a8e9c10778 100644
> --- a/meta/recipes-devtools/m4/m4_1.4.18.bb
> +++ b/meta/recipes-devtools/m4/m4_1.4.18.bb
> @@ -1,3 +1,7 @@
>  require m4-${PV}.inc
> 
> +do_install_append () {
> +    echo hello world
> +}
> +
>  BBCLASSEXTEND = "nativesdk"
> 4. bitbake m4
> 5. bitbake-diffsigs -t m4 do_build
> => ERROR: No sigdata files found matching m4 do_build
> 
> There is one file for do_build in tmp/stamps/i586-poky-linux/m4 and
> several for do_install:
> 
> $ ls -l tmp/stamps/i586-poky-linux/m4/*do_build*
> tmp/stamps/i586-poky-linux/m4/*do_install* -rw-r--r-- 1 pohly pohly     0
> Apr  7 09:53
> tmp/stamps/i586-poky-linux/m4/1.4.18-r0.do_build.aa7d33bbb2dfef67ef3ca1b5d3
> f2cde1 -rw-r--r-- 1 pohly pohly     0 Apr  7 09:53
> tmp/stamps/i586-poky-linux/m4/1.4.18-r0.do_install.a0954ae23d8da50c4af22f71
> 9255411f -rw-r--r-- 1 pohly pohly 20573 Apr  7 09:52
> tmp/stamps/i586-poky-linux/m4/1.4.18-r0.do_install.sigdata.464e707d80ec982f
> b5b0c50a6526f05a -rw-r--r-- 1 pohly pohly 19610 Apr  7 09:53
> tmp/stamps/i586-poky-linux/m4/1.4.18-r0.do_install.sigdata.a0954ae23d8da50c
> 4af22f719255411f
> 
> 
> bitbake-diffsigs does not fail for do_install, but does not print
> anything either (= no output at all from "bitbake-diffsigs -t m4
> do_install").
> 
> Hmm, does it pick the right files to compare?
> 
> $ bitbake-diffsigs -d -t m4 do_install
> DEBUG: Signature file (previous):
> /fast/build/poky/x86/sstate-cache/a0/sstate:m4:i586-poky-linux:1.4.18:r0:i5
> 86:3:a0954ae23d8da50c4af22f719255411f_install.tgz.siginfo DEBUG: Signature
> file (latest):
> /fast/build/poky/x86/tmp/stamps/i586-poky-linux/m4/1.4.18-r0.do_install.sig
> data.a0954ae23d8da50c4af22f719255411f
> 
> Am I using the tool incorrectly or are my expectations wrong?
>
> My expectation was that "bitbake-diffsigs -t m4 do_build" would tell me
> that m4 was rebuilt because some tasks that it depends on changed, and
> then I would drill down to those tasks, eventually arriving at
> do_install.

Hmm, something has gone wrong here because this is the exact scenario it's 
supposed to handle. In my similar tests it did work, so I'm not sure why it 
didn't work in this case - I'll have to give it a try here.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the bitbake-devel mailing list