summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
AgeCommit message (Collapse)Author
2012-02-23siggen.py: Pass the datacache to signature generator classesRichard Purdie
The dataCache exposes much useful information to the singature generation code for example its possible to figure out whether kernel dependencies are important or not based on the RRECOMMENDS values. We therefore pass this information to the handler and trust it to handle any API changes in the dataCache structure. For backwards compatibility, OE-Core is already updated to handle the extra argument when it appears. (Bitbake rev: 4ebc25155d5f96a7f63de22b52b18d045eb4dec7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22siggen: compare runtaskdeps dictionary even when they have the same sizeMartin Jansa
* 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 * added test if there is different task with same hash then we don't show it as added/removed dependency, because bitbake doesn't care (Bitbake rev: ca52bf32b479811bd7fed41648bedcc06b00430b) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10siggen.py: Handle cases where the input to symmetric_difference() may be NoneRichard Purdie
[YOCTO #1967] (Bitbake rev: f6cee29bf853874876923a7d6ae8574e3801ae8d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20siggen.py: Abstract the runtime task dependency handling code in the generatorsRichard Purdie
This means that custom signature handlers can override specific parts of the code without having to reimplement whole functions allowing them more flexibility. (Bitbake rev: 164195c068a656733cfe7aa07369c5ed6ea62ca5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20siggen: Ensure correct runtask dependency output is shown for diffsigsRichard Purdie
The actual task names are discounted for comparison of dependent tasks, only the actual hashes are used. This updates the comparison code to account for this change, attempting heuristic matching for more user friendly output but falling back to showing the changed hashes directly. This avoids some confusing output to users where it looked like tasks had changed when they had not and actually had the same hash but a different taskname. (Bitbake rev: 7da7dff83ed765c9cde1d7f91ee1b65e49520481) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05siggen.py: If both sigs have a variable in it's whitelist then don't say ↵Matthew McClintock
it's changed Some BB_HASHBASE_WHITELIST variables are in the lists of variable dependencies for signatures. Ignore those differences in lists since this difference does not matter (Bitbake rev: 71b53a3f0766ca464560a1f6a449f9424fbdf7ae) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27bitbake: Update users of getVar/setVar to use the data store functions directlyRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25bitbake/siggen.py: Don't backtrace if the taskhash data isn't presentRichard Purdie
This allows the code to safely fall back to dumping the basehash data if the taskhash data isn't present for some reason. We could effecitvely obsolete the runtime option and use this approach instead exclusively. (Bitbake rev: 5ace320ccc01f4e326f90b7ba060dcbff3380dca) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24data/siggen: Add vardepvalue mechanism to allow the variable dependency code ↵Richard Purdie
to be forced to specific values We have a problem if we want to inject specific information into the variable dependency code. There are cases for example where we want a dependency on the value of X but it doesn't matter how X was constructed or what dependencies it might have had, we only care about the absolute value. With the current code, its near enough impossible to do this. This patch adds such a mechanism so the user can trigger this with code like: baselib[vardepvalue] = "${baselib}" It also refactors some of the code so we do variable lookups once instead of doing this in two different functions. [YOCTO #1583] (Bitbake rev: 6c879b44ccf42dc73fe4467076e114700d7ba81b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23siggen.py: sort task hash depedencies with basepathMatthew McClintock
Without this patch the tash hash dependencies can be in a order that is dependent upon directory/filesystem layout. With this change the data is sorted the same regardless. Without this the dependent hashes could be in different orders on different systems and consequently final md5 hash would differ as well even though nothing else changed. (Bitbake rev: 9a2029899c946ce9aa8adbc85f2cfe7a85b92182) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23bitbake: print out symmetric difference when comparing sigsMatthew McClintock
This is useful for really longs lists to pinpoint what has actually changed (Bitbake rev: f1eb6d3dcc10c42bb09383a87bde3afa69bc6ed9) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18siggen.py: Include list of variables in hashesRichard Purdie
Ensure that the list of dependencies is included in the hash as well as their contents Prior to this, adding or removing dependencies with values of "None" would not change the hash, despite diffsigs reporting this difference. (Bitbake rev: 727ca945177ce9bd44515cf611e3e95a09466d98) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18siggen.py: Fix diffsigs output for filename comparisionsRichard Purdie
When comparing sig files, if the recipe locations had changed, the dependent tasks list would show as changed even if the actual hash had not changed. This updates the code to only compare the base part of the pathnames. It also tweaks some of the output to add newlines to aid comparing two lists of variables as it makes the location of the difference clearer. (Bitbake rev: 165a22ddcc647b945707fb5c483146bb336d5f66) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05lib/bb/siggen.py: return a string from noop get_taskhashDmitry Eremin-Solenikov
OpenEmbedded is expecting to get a string from get_taskhash, but noop siggen returns just 0 (number), so OE classes/sstate.bbclass barfs badly. Fix that. (Bitbake rev: 24272dae15ccf641ece11ef5a6e2bfa3ebb6f5f9) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-07siggen: don't choke with traceback when data is NoneChris Larson
Given we use bb.error, not bb.fatal, here, it seems this was intended to be non-fatal, yet we'd end up trying to concatenate None. Fix this by setting an empty task to the empty string, for the purposes of hashing. Also str() the value we get from the datastore, just in case something other than a string was stored there. (Bitbake rev: ec8a5a495b72e061a1e8d7c7449afb26581872c0) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-25build/siggen: Ensure a task signature file is generated for each task that ↵Richard Purdie
is executed Tracing down signature changes and dependencies is hard unless the complete task chain can be evaultated. Since we have the data available at task exeuction time, writing it to disk makes sense. This change is suboptimal internal knowledge stamp_internal() has leaks into make_stamp() and the concepts used by this code need revisiting but the change brings enough usability benefit to warrant its inclusion despite that. Addresses issue [YOCTO #1074] (Bitbake rev: 139b8a625818225c358a1b8363518d7ed6913188) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-31bb.siggen: import osChris Larson
(Bitbake rev: cd274f653c677daa69b2e15ffed803b7b1d25a43) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-21siggen: add bb.data, bb.parse importsChris Larson
(Bitbake rev: 8eafb12208fcd073f930c0c74f25831d02c02198) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-21siggen.py: better print for task hash comparisonKevin Tian
current bitbake-diffsigs simply print out the whole 'runtaskdeps' when there's mismatch, which is not very readable. On the other hand, 'runtaskhashes' comparison is broken which assumes same key existing in two sides. This commit provides better output by figuring out differences from addition, removal or hash change. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-18bitbake: Introduce stamp-extra-info task flag into stamp filenamesDongxiao Xu
For certain tasks, we need additional information in build stamp file other than the task name and file name. stamp-extra-info is introduced as a task flag which is appended to the stamp file name. [Code simplifcations/tweaks from Richard] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12bitbake/siggen.py: Fix whitelisted variable handlingRichard Purdie
Even when a variable was whitelisted, any dependencies of that variable could still creep into the task hash due to the way the whitelisting code worked. This patch changes thing to ensure that when whitelisted, that whitelisting applies to the variable and any dependencies it has. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07bitbake/siggen.py: Add a signature generator which adds the hash to the ↵Richard Purdie
stamp files Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06bitbake build/siggen/runqueue: Fix stampfile parametersRichard Purdie
The current parameters are not useful to the stampfile generator function as they can't uniquely define a task. This updated things so the parameters can identify unique tasks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-04bitbake: Sync a load of whitespace and other non-functionality changes with ↵Richard Purdie
bitbake uptream Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20siggen.py: print taskname when seeing mismatched hash in cacheKevin Tian
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-17bitbake Revert bitbake exec() and go back to fork() for performace wins ↵Richard Purdie
(first draft) Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-16siggen.py: make sure stamp directory existingKevin Tian
or else "bitbake -S" from scratch may report "No such file or directory" error. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-07siggen.py: fix the wrong usage on BB_TASKHASH_WHITELISTKevin Tian
BB_TASKHASH_WHITELIST is expected to filter out native tasks from the dependency list for target recipe's checksum. However current code actually implements the opposite. All native sstate packages end up to have empty task dependency while target sstate packages still have native tasks counted into the checksum. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-06siggen.py: set 'runtaskdeps' correctlyKevin Tian
Now 'runtaskdeps' is assigned before taskhash whitelist is filtered out, and thus always contains original task dependencies. This causes problem to diagnose sstate related problem. So fix it by appending filtered dep to 'runtaskdeps' in the fly. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-15siggen.py: fix comparison around runtaskdepsKevin Tian
two dep lists should be sorted before the comparison, or else it just causes false-positive confusion. Also fix 'taskdeps' to 'runtaskdeps' when printing out the difference. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-06bitbake/siggen: Allow siggen code to control final stampfile formatRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02bitbake/siggen: Provide better warnings about empty tasksRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-01bitbake/siggen: Fix finalise call argumentsRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30bitbake/bitbake-sigdiff: Extend to handle dumping single state siginfo filesRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30bitbake/siggen: Fix issue where excluded dependencies caused exceptionsRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29bitbake/siggen: Ensure full signature data is not held unless needed, ↵Richard Purdie
reducing memory consumption Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-28bitbake: Pass task hash information to subprocessesRichard Purdie
Pass task has informaiton to work processes, allowing full manipulation of the hash data in the task context allowing checksums to be usable. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13bitbake/siggen: Allow generation of siggen data from task contextRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13bitbake/siggen.py: Improve debugging of checksumsRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03bitbake: Add missing signature filesRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>