diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-08 17:36:46 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-11 23:26:29 +0000 |
commit | e306d5495a33c006fc7281c412f70af53d6c41a4 (patch) | |
tree | d61ad812f024e69a9c4521795a594d8222382b37 /meta/classes | |
parent | e1a558a434957fc233eec6349ceb53b4e09bb18c (diff) | |
download | poky-e306d5495a33c006fc7281c412f70af53d6c41a4.tar.gz |
populate_sdk_ext: Change to include siginfo and non sstate task sigs
Right now, the locked task hashes list for the extensible SDK locks
down only the sstate tasks.
Whilst asthetically pleasing, this gives two problems:
* Half the task are left floating meaning checksum mismatches
are a pain to debug
* The later code which copies relavent data files out the sstate
cache can't use any of this data.
This patch modifies things so all the checksums are listed in the locked
file. An exclusion of tasks probably makes more sense for the library
function rather than an allowed list.
The only sstate task being deliberaly excluded here was do_package
so add in a function to explictly exclude those sstate object files.
The net result of this that siginfo files for all tasks are included in
the SDK, which means commands like "bitbake -S printdiff" now function.
(From OE-Core rev: 6b70479e47b8a8743d8b410d6bc08da1607a318e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 317043d890..3a65c07a51 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -171,10 +171,9 @@ python copy_buildsystem () { | |||
171 | oe.copy_buildsystem.generate_locked_sigs(sigfile, d) | 171 | oe.copy_buildsystem.generate_locked_sigs(sigfile, d) |
172 | 172 | ||
173 | # Filter the locked signatures file to just the sstate tasks we are interested in | 173 | # Filter the locked signatures file to just the sstate tasks we are interested in |
174 | allowed_tasks = ['do_populate_lic', 'do_populate_sysroot', 'do_packagedata', 'do_package_write_ipk', 'do_package_write_rpm', 'do_package_write_deb', 'do_package_qa', 'do_deploy'] | ||
175 | excluded_targets = d.getVar('SDK_TARGETS', True) | 174 | excluded_targets = d.getVar('SDK_TARGETS', True) |
176 | lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc' | 175 | lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc' |
177 | oe.copy_buildsystem.prune_lockedsigs(allowed_tasks, | 176 | oe.copy_buildsystem.prune_lockedsigs([], |
178 | excluded_targets, | 177 | excluded_targets, |
179 | sigfile, | 178 | sigfile, |
180 | lockedsigs_pruned) | 179 | lockedsigs_pruned) |
@@ -187,6 +186,12 @@ python copy_buildsystem () { | |||
187 | d.getVar('SSTATE_DIR', True), | 186 | d.getVar('SSTATE_DIR', True), |
188 | sstate_out, d, | 187 | sstate_out, d, |
189 | fixedlsbstring) | 188 | fixedlsbstring) |
189 | # We don't need sstate do_package files | ||
190 | for root, dirs, files in os.walk(sstate_out): | ||
191 | for name in files: | ||
192 | if name.endswith("_package.tgz"): | ||
193 | f = os.path.join(root, name) | ||
194 | os.remove(f) | ||
190 | } | 195 | } |
191 | 196 | ||
192 | def extsdk_get_buildtools_filename(d): | 197 | def extsdk_get_buildtools_filename(d): |