When things go wrong, debugging needs to be straightforward. Because of this, the Yocto Project includes strong debugging tools:
Whenever a shared state package is written
out into the
SSTATE_DIR
,
a corresponding .siginfo
file is
also written.
This file contains a pickled Python database of all
the Metadata that went into creating the hash for a
given shared state package.
Whenever a stamp is written into the stamp directory
STAMP
,
a corresponding .sigdata
file
is created that contains the same hash data that
represented the executed task.
You can use BitBake to dump out the signature construction information without executing tasks by using either of the following BitBake command-line options:
‐‐dump-signatures=SIGNATURE_HANDLER
-SSIGNATURE_HANDLER
SIGNATURE_HANDLER
are
"none" and "printdiff" to only dump the signature
or to compare the dumped signature with the
cached one, respectively.
Using BitBake with either of these options causes
BitBake to dump out .sigdata
files
in the stamp directory for every task it would have
executed instead of building the specified target
package.
There is a
bitbake-diffsigs
command that
can process .sigdata
and
.siginfo
files.
If you specify one of these files, BitBake dumps out
the dependency information in the file.
If you specify two files, BitBake compares the two
files and dumps out the differences between the two.
This more easily helps answer the question of "What
changed between X and Y?"