summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/populate_sdk_ext.bbclass27
1 files changed, 20 insertions, 7 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 4d8d2a6257..2f788ee7dc 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -182,11 +182,9 @@ python copy_buildsystem () {
182 if line.strip() and not line.startswith('#'): 182 if line.strip() and not line.startswith('#'):
183 f.write(line) 183 f.write(line)
184 184
185 sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc'
186 oe.copy_buildsystem.generate_locked_sigs(sigfile, d)
187
188 # Filter the locked signatures file to just the sstate tasks we are interested in 185 # Filter the locked signatures file to just the sstate tasks we are interested in
189 excluded_targets = d.getVar('SDK_TARGETS', True) 186 excluded_targets = d.getVar('SDK_TARGETS', True)
187 sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc'
190 lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc' 188 lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
191 oe.copy_buildsystem.prune_lockedsigs([], 189 oe.copy_buildsystem.prune_lockedsigs([],
192 excluded_targets.split(), 190 excluded_targets.split(),
@@ -288,6 +286,24 @@ fakeroot python do_populate_sdk_ext() {
288 bb.build.exec_func("do_populate_sdk", d) 286 bb.build.exec_func("do_populate_sdk", d)
289} 287}
290 288
289def get_ext_sdk_depends(d):
290 return d.getVarFlag('do_rootfs', 'depends', True) + ' ' + d.getVarFlag('do_build', 'depends', True)
291
292python do_sdk_depends() {
293 # We have to do this separately in its own task so we avoid recursing into
294 # dependencies we don't need to (e.g. buildtools-tarball) and bringing those
295 # into the SDK's sstate-cache
296 import oe.copy_buildsystem
297 sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc'
298 oe.copy_buildsystem.generate_locked_sigs(sigfile, d)
299}
300addtask sdk_depends
301
302do_sdk_depends[dirs] = "${WORKDIR}"
303do_sdk_depends[depends] = "${@get_ext_sdk_depends(d)}"
304do_sdk_depends[recrdeptask] = "${@d.getVarFlag('do_populate_sdk', 'recrdeptask', False)}"
305do_sdk_depends[recrdeptask] += "do_populate_lic do_package_qa do_populate_sysroot do_deploy"
306
291def get_sdk_ext_rdepends(d): 307def get_sdk_ext_rdepends(d):
292 localdata = d.createCopy() 308 localdata = d.createCopy()
293 localdata.appendVar('OVERRIDES', ':task-populate-sdk-ext') 309 localdata.appendVar('OVERRIDES', ':task-populate-sdk-ext')
@@ -297,15 +313,12 @@ def get_sdk_ext_rdepends(d):
297do_populate_sdk_ext[dirs] = "${@d.getVarFlag('do_populate_sdk', 'dirs', False)}" 313do_populate_sdk_ext[dirs] = "${@d.getVarFlag('do_populate_sdk', 'dirs', False)}"
298do_populate_sdk_ext[depends] += "${@d.getVarFlag('do_populate_sdk', 'depends', False)}" 314do_populate_sdk_ext[depends] += "${@d.getVarFlag('do_populate_sdk', 'depends', False)}"
299do_populate_sdk_ext[rdepends] = "${@get_sdk_ext_rdepends(d)}" 315do_populate_sdk_ext[rdepends] = "${@get_sdk_ext_rdepends(d)}"
300do_populate_sdk_ext[recrdeptask] += "${@d.getVarFlag('do_populate_sdk', 'recrdeptask', False)}"
301
302 316
303do_populate_sdk_ext[depends] += "buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk" 317do_populate_sdk_ext[depends] += "buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk"
304 318
305do_populate_sdk_ext[rdepends] += "${@' '.join([x + ':do_build' for x in d.getVar('SDK_TARGETS', True).split()])}" 319do_populate_sdk_ext[rdepends] += "${@' '.join([x + ':do_build' for x in d.getVar('SDK_TARGETS', True).split()])}"
306do_populate_sdk_ext[recrdeptask] += "do_populate_lic do_package_qa do_populate_sysroot do_deploy"
307 320
308# Make sure codes change in copy_buildsystem can result in rebuilt 321# Make sure codes change in copy_buildsystem can result in rebuilt
309do_populate_sdk_ext[vardeps] += "copy_buildsystem" 322do_populate_sdk_ext[vardeps] += "copy_buildsystem"
310 323
311addtask populate_sdk_ext 324addtask populate_sdk_ext after do_sdk_depends