[oe-commits] [openembedded-core] 104/110: populate_sdk_base: Put populate_sdk under sstate control

git at git.openembedded.org git at git.openembedded.org
Sat Sep 3 09:01:42 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 3483180cf5d33fe8c60d5c95d09535bc7cca155e
Author: Ed Bartosh <ed.bartosh at linux.intel.com>
AuthorDate: Thu Sep 1 11:56:02 2016 +0300

    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.
    
    Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/populate_sdk_base.bbclass | 13 +++++++++++--
 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 5f52660..6fe0b37 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -26,7 +26,7 @@ SDK_DIR = "${WORKDIR}/sdk"
 SDK_OUTPUT = "${SDK_DIR}/image"
 SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
 
-SDKDEPLOYDIR = "${SDK_DEPLOY}"
+SDKDEPLOYDIR = "${WORKDIR}/deploy-${PN}-populate-sdk"
 
 B_task-populate-sdk = "${SDK_DIR}"
 
@@ -94,7 +94,7 @@ SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK
 # manipulation.
 SDK_OLDEST_KERNEL = "3.2.0"
 
-fakeroot python do_populate_sdk() {
+def populate_sdk_common(d):
     from oe.sdk import populate_sdk
     from oe.manifest import create_manifest, Manifest
 
@@ -116,7 +116,16 @@ fakeroot python do_populate_sdk() {
                     manifest_type=Manifest.MANIFEST_TYPE_SDK_TARGET)
 
     populate_sdk(d)
+
+fakeroot python do_populate_sdk() {
+    populate_sdk_common(d)
 }
+SSTATETASKS += "do_populate_sdk"
+SSTATE_SKIP_CREATION_task-populate-sdk = '1'
+do_populate_sdk[cleandirs] = "${SDKDEPLOYDIR}"
+do_populate_sdk[sstate-inputdirs] = "${SDKDEPLOYDIR}"
+do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}"
+do_populate_sdk[stamp-extra-info] = "${MACHINE}"
 
 fakeroot create_sdk_files() {
 	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 b52ad41..906ae74 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() {
     buildtools_fn = get_current_buildtools(d)
     d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d))
     d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn)
+    d.setVar('SDKDEPLOYDIR', '${DEPLOY_DIR}/sdk')
 
-    bb.build.exec_func("do_populate_sdk", d)
+    populate_sdk_common(d)
 }
 
 def get_ext_sdk_depends(d):

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list