diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2016-09-01 11:56:02 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-04 00:07:29 +0100 |
commit | 3c3962d27e659c1da153c588948122dae20a9d93 (patch) | |
tree | c7f461deb4776c52943abe25f9706ef7e14d5c9d | |
parent | bc31120ec6b9d9da862053f6a7b6685edf96aab0 (diff) | |
download | poky-3c3962d27e659c1da153c588948122dae20a9d93.tar.gz |
populate_sdk_base: Put populate_sdk under sstate control
Adding populate_sdk task to SSTATE_TASKS should make sstate machinery
to generate manifest for deployed sdk artifacts and do final deployment
to SDK_DEPLOY.
Set stamp-extra-info flag for do_populate_sdk task. This flag is used
in the name of sstate manifest. Setting it to predetermined value for
populate_sdk task should help to get correct manifest filenames when
processing runQueueTask events.
The do_populate_sdk function is also executed by do_populate_sdk_ext
so in order to avoid conflicts with the sstate postfuncs, split
the main code into a separate function.
We also need to set SDKDEPLOYDIR as do_populate_sdk_ext expects
it in order not to break ESDK generation.
(From OE-Core rev: 8361376b8ef0147276c9ee31349e904d86900593)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 13 | ||||
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 3 |
2 files changed, 13 insertions, 3 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 5f52660553..6fe0b3704a 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass | |||
@@ -26,7 +26,7 @@ SDK_DIR = "${WORKDIR}/sdk" | |||
26 | SDK_OUTPUT = "${SDK_DIR}/image" | 26 | SDK_OUTPUT = "${SDK_DIR}/image" |
27 | SDK_DEPLOY = "${DEPLOY_DIR}/sdk" | 27 | SDK_DEPLOY = "${DEPLOY_DIR}/sdk" |
28 | 28 | ||
29 | SDKDEPLOYDIR = "${SDK_DEPLOY}" | 29 | SDKDEPLOYDIR = "${WORKDIR}/deploy-${PN}-populate-sdk" |
30 | 30 | ||
31 | B_task-populate-sdk = "${SDK_DIR}" | 31 | B_task-populate-sdk = "${SDK_DIR}" |
32 | 32 | ||
@@ -94,7 +94,7 @@ SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK | |||
94 | # manipulation. | 94 | # manipulation. |
95 | SDK_OLDEST_KERNEL = "3.2.0" | 95 | SDK_OLDEST_KERNEL = "3.2.0" |
96 | 96 | ||
97 | fakeroot python do_populate_sdk() { | 97 | def populate_sdk_common(d): |
98 | from oe.sdk import populate_sdk | 98 | from oe.sdk import populate_sdk |
99 | from oe.manifest import create_manifest, Manifest | 99 | from oe.manifest import create_manifest, Manifest |
100 | 100 | ||
@@ -116,7 +116,16 @@ fakeroot python do_populate_sdk() { | |||
116 | manifest_type=Manifest.MANIFEST_TYPE_SDK_TARGET) | 116 | manifest_type=Manifest.MANIFEST_TYPE_SDK_TARGET) |
117 | 117 | ||
118 | populate_sdk(d) | 118 | populate_sdk(d) |
119 | |||
120 | fakeroot python do_populate_sdk() { | ||
121 | populate_sdk_common(d) | ||
119 | } | 122 | } |
123 | SSTATETASKS += "do_populate_sdk" | ||
124 | SSTATE_SKIP_CREATION_task-populate-sdk = '1' | ||
125 | do_populate_sdk[cleandirs] = "${SDKDEPLOYDIR}" | ||
126 | do_populate_sdk[sstate-inputdirs] = "${SDKDEPLOYDIR}" | ||
127 | do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}" | ||
128 | do_populate_sdk[stamp-extra-info] = "${MACHINE}" | ||
120 | 129 | ||
121 | fakeroot create_sdk_files() { | 130 | fakeroot create_sdk_files() { |
122 | cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/ | 131 | cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/ |
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index b52ad41d3d..906ae749fc 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -599,8 +599,9 @@ fakeroot python do_populate_sdk_ext() { | |||
599 | buildtools_fn = get_current_buildtools(d) | 599 | buildtools_fn = get_current_buildtools(d) |
600 | d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d)) | 600 | d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d)) |
601 | d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn) | 601 | d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn) |
602 | d.setVar('SDKDEPLOYDIR', '${DEPLOY_DIR}/sdk') | ||
602 | 603 | ||
603 | bb.build.exec_func("do_populate_sdk", d) | 604 | populate_sdk_common(d) |
604 | } | 605 | } |
605 | 606 | ||
606 | def get_ext_sdk_depends(d): | 607 | def get_ext_sdk_depends(d): |