All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] lib/oe/sdk: Add get_extra_sdk_info to reuse code in buildhistory
@ 2017-02-21 22:48 Francisco Pedraza
  2017-02-21 22:48 ` [PATCH 2/3] meta/classes/populate_sdk_base: Only execute write manifest when is populate_sdk Francisco Pedraza
  2017-02-21 22:48 ` [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest Francisco Pedraza
  0 siblings, 2 replies; 6+ messages in thread
From: Francisco Pedraza @ 2017-02-21 22:48 UTC (permalink / raw)
  To: openembedded-core; +Cc: Francisco Pedraza

This function is going to be used for generating the target and host manifest files packages for eSDK.
[YOCTO #9038]

Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
---
 meta/classes/buildhistory.bbclass | 20 ++++++++------------
 meta/lib/oe/sdk.py                | 17 +++++++++++++++++
 2 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 7251a2c..b7130fe 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -550,23 +550,19 @@ END
 python buildhistory_get_extra_sdkinfo() {
     import operator
     import math
+    # importing oe.sdk due package information req
+    from oe.sdk import get_extra_sdkinfo
+
     if d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
-        tasksizes = {}
-        filesizes = {}
-        for root, _, files in os.walk(d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-cache')):
-            for fn in files:
-                if fn.endswith('.tgz'):
-                    fsize = int(math.ceil(float(os.path.getsize(os.path.join(root, fn))) / 1024))
-                    task = fn.rsplit(':', 1)[1].split('_', 1)[1].split('.')[0]
-                    origtotal = tasksizes.get(task, 0)
-                    tasksizes[task] = origtotal + fsize
-                    filesizes[fn] = fsize
+        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-cache')
+        extra_info = get_extra_sdkinfo(sstate_dir)
+
         with open(d.expand('${BUILDHISTORY_DIR_SDK}/sstate-package-sizes.txt'), 'w') as f:
-            filesizes_sorted = sorted(filesizes.items(), key=operator.itemgetter(1, 0), reverse=True)
+            filesizes_sorted = sorted(extra_info['filesizes'].items(), key=operator.itemgetter(1, 0), reverse=True)
             for fn, size in filesizes_sorted:
                 f.write('%10d KiB %s\n' % (size, fn))
         with open(d.expand('${BUILDHISTORY_DIR_SDK}/sstate-task-sizes.txt'), 'w') as f:
-            tasksizes_sorted = sorted(tasksizes.items(), key=operator.itemgetter(1, 0), reverse=True)
+            tasksizes_sorted = sorted(extra_info['tasksizes'].items(), key=operator.itemgetter(1, 0), reverse=True)
             for task, size in tasksizes_sorted:
                 f.write('%10d KiB %s\n' % (size, task))
 }
diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py
index fef02d0..4ce388f 100644
--- a/meta/lib/oe/sdk.py
+++ b/meta/lib/oe/sdk.py
@@ -371,5 +371,22 @@ def populate_sdk(d, manifest_dir=None):
     os.environ.clear()
     os.environ.update(env_bkp)
 
+def get_extra_sdkinfo(sstate_dir):
+    import operator
+    import math
+
+    extra_info = {}
+    extra_info['tasksizes'] = {}
+    extra_info['filesizes'] = {}
+    for root, _, files in os.walk(sstate_dir):
+        for fn in files:
+            if fn.endswith('.tgz'):
+                fsize = int(math.ceil(float(os.path.getsize(os.path.join(root, fn))) / 1024))
+                task = fn.rsplit(':',1)[1].split('_',1)[1].split(',')[0]
+                origtotal = extra_info['tasksizes'].get(task, 0)
+                extra_info['tasksizes'][task] = origtotal + fsize
+                extra_info['filesizes'][fn] = fsize
+    return extra_info
+
 if __name__ == "__main__":
     pass
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] meta/classes/populate_sdk_base: Only execute write manifest when is populate_sdk
  2017-02-21 22:48 [PATCH 1/3] lib/oe/sdk: Add get_extra_sdk_info to reuse code in buildhistory Francisco Pedraza
@ 2017-02-21 22:48 ` Francisco Pedraza
  2017-02-21 22:48 ` [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest Francisco Pedraza
  1 sibling, 0 replies; 6+ messages in thread
From: Francisco Pedraza @ 2017-02-21 22:48 UTC (permalink / raw)
  To: openembedded-core; +Cc: Francisco Pedraza

This function is going to be used for generating the eSDK, however the
eSDK package information comes from sstate artifacts instead of package files.

[YOCTO #9038]

Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
---
 meta/classes/populate_sdk_base.bbclass | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index dd3cac5..33665cd 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -60,14 +60,15 @@ SDK_TITLE ?= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
 SDK_TARGET_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"
 SDK_HOST_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
 python write_target_sdk_manifest () {
-    from oe.sdk import sdk_list_installed_packages
-    from oe.utils import format_pkg_list
-    sdkmanifestdir = os.path.dirname(d.getVar("SDK_TARGET_MANIFEST"))
-    pkgs = sdk_list_installed_packages(d, True)
-    if not os.path.exists(sdkmanifestdir):
-        bb.utils.mkdirhier(sdkmanifestdir)
-    with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output:
-        output.write(format_pkg_list(pkgs, 'ver'))
+    if d.getVar('BB_CURRENTTASK') == 'populate_sdk':
+        from oe.sdk import sdk_list_installed_packages
+        from oe.utils import format_pkg_list
+        sdkmanifestdir = os.path.dirname(d.getVar("SDK_TARGET_MANIFEST"))
+        pkgs = sdk_list_installed_packages(d, True)
+        if not os.path.exists(sdkmanifestdir):
+            bb.utils.mkdirhier(sdkmanifestdir)
+        with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output:
+            output.write(format_pkg_list(pkgs, 'ver'))
 }
 
 python write_sdk_test_data() {
@@ -78,14 +79,15 @@ python write_sdk_test_data() {
 }
 
 python write_host_sdk_manifest () {
-    from oe.sdk import sdk_list_installed_packages
-    from oe.utils import format_pkg_list
-    sdkmanifestdir = os.path.dirname(d.getVar("SDK_HOST_MANIFEST"))
-    pkgs = sdk_list_installed_packages(d, False)
-    if not os.path.exists(sdkmanifestdir):
-        bb.utils.mkdirhier(sdkmanifestdir)
-    with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output:
-        output.write(format_pkg_list(pkgs, 'ver'))
+    if d.getVar('BB_CURRENTTASK') == 'populate_sdk':
+        from oe.sdk import sdk_list_installed_packages
+        from oe.utils import format_pkg_list
+        sdkmanifestdir = os.path.dirname(d.getVar("SDK_HOST_MANIFEST"))
+        pkgs = sdk_list_installed_packages(d, False)
+        if not os.path.exists(sdkmanifestdir):
+            bb.utils.mkdirhier(sdkmanifestdir)
+        with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output:
+            output.write(format_pkg_list(pkgs, 'ver'))
 }
 
 POPULATE_SDK_POST_TARGET_COMMAND_append = " write_target_sdk_manifest ; write_sdk_test_data ; "
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest
  2017-02-21 22:48 [PATCH 1/3] lib/oe/sdk: Add get_extra_sdk_info to reuse code in buildhistory Francisco Pedraza
  2017-02-21 22:48 ` [PATCH 2/3] meta/classes/populate_sdk_base: Only execute write manifest when is populate_sdk Francisco Pedraza
@ 2017-02-21 22:48 ` Francisco Pedraza
  2017-02-21 23:07   ` Pedraza Gonzalez, Francisco J
  2017-02-22 15:52   ` Joshua Lock
  1 sibling, 2 replies; 6+ messages in thread
From: Francisco Pedraza @ 2017-02-21 22:48 UTC (permalink / raw)
  To: openembedded-core; +Cc: Francisco Pedraza

This function writes on host and target manifest files for eSDK.
[YOCTO #9038]

Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
---
 meta/classes/populate_sdk_base.bbclass | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 33665cd..db700d7 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -59,6 +59,9 @@ SDK_TITLE ?= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
 
 SDK_TARGET_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"
 SDK_HOST_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
+SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"
+SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"
+
 python write_target_sdk_manifest () {
     if d.getVar('BB_CURRENTTASK') == 'populate_sdk':
         from oe.sdk import sdk_list_installed_packages
@@ -69,6 +72,17 @@ python write_target_sdk_manifest () {
             bb.utils.mkdirhier(sdkmanifestdir)
         with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output:
             output.write(format_pkg_list(pkgs, 'ver'))
+    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
+        from oe.sdk import get_extra_sdkinfo
+        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-cache')
+        extra_info = get_extra_sdkinfo(sstate_dir)
+        target = d.getVar('TARGET_SYS')
+        target_multimach = d.getVar('MULTIMACH_TARGET_SYS')
+        with open(d.getVar('SDK_EXT_TARGET_MANIFEST'), 'w') as f:
+            for fn in extra_info['filesizes']:
+                info = fn.split(':') #added
+                if info[2] in (target, target_multimach):
+                    f.write("%s %s %s\n" % (info[1], info[2], info[3]))
 }
 
 python write_sdk_test_data() {
@@ -88,12 +102,22 @@ python write_host_sdk_manifest () {
             bb.utils.mkdirhier(sdkmanifestdir)
         with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output:
             output.write(format_pkg_list(pkgs, 'ver'))
+    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
+        from oe.sdk import get_extra_sdkinfo
+        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-cache')
+        extra_info = get_extra_sdkinfo(sstate_dir)
+        host = d.getVar('BUILD_SYS')
+        with open(d.getVar('SDK_EXT_HOST_MANIFEST'), 'w') as f:
+            for fn in extra_info['filesizes']:
+                info = fn.split(':') #added
+                if info[2] == host:
+                    f.write("%s %s %s\n" % (info[1], info[2], info[3]))
 }
 
 POPULATE_SDK_POST_TARGET_COMMAND_append = " write_target_sdk_manifest ; write_sdk_test_data ; "
 POPULATE_SDK_POST_HOST_COMMAND_append = " write_host_sdk_manifest; "
 SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}"
-SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK_PACKAGING_COMMAND} "
+SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; write_target_sdk_manifest; write_host_sdk_manifest; ${SDK_PACKAGING_COMMAND} "
 
 def populate_sdk_common(d):
     from oe.sdk import populate_sdk
-- 
1.8.3.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest
  2017-02-21 22:48 ` [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest Francisco Pedraza
@ 2017-02-21 23:07   ` Pedraza Gonzalez, Francisco J
  2017-02-22 15:52   ` Joshua Lock
  1 sibling, 0 replies; 6+ messages in thread
From: Pedraza Gonzalez, Francisco J @ 2017-02-21 23:07 UTC (permalink / raw)
  To: openembedded-core

I tested this implementation and is writing the installed packages on host and target manifest properly.
https://bugzilla.yoctoproject.org/attachment.cgi?id=3639
https://bugzilla.yoctoproject.org/attachment.cgi?id=3638

Regards,




Francisco Pedraza 
Open-source Technology Center 
Yocto Project



-----Original Message-----
From: Pedraza Gonzalez, Francisco J 
Sent: Tuesday, February 21, 2017 4:49 PM
To: openembedded-core@lists.openembedded.org
Cc: Pedraza Gonzalez, Francisco J <francisco.j.pedraza.gonzalez@intel.com>
Subject: [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest

This function writes on host and target manifest files for eSDK.
[YOCTO #9038]

Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
---
 meta/classes/populate_sdk_base.bbclass | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 33665cd..db700d7 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -59,6 +59,9 @@ SDK_TITLE ?= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
 
 SDK_TARGET_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"
 SDK_HOST_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
+SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"
+SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"
+
 python write_target_sdk_manifest () {
     if d.getVar('BB_CURRENTTASK') == 'populate_sdk':
         from oe.sdk import sdk_list_installed_packages @@ -69,6 +72,17 @@ python write_target_sdk_manifest () {
             bb.utils.mkdirhier(sdkmanifestdir)
         with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output:
             output.write(format_pkg_list(pkgs, 'ver'))
+    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
+        from oe.sdk import get_extra_sdkinfo
+        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-cache')
+        extra_info = get_extra_sdkinfo(sstate_dir)
+        target = d.getVar('TARGET_SYS')
+        target_multimach = d.getVar('MULTIMACH_TARGET_SYS')
+        with open(d.getVar('SDK_EXT_TARGET_MANIFEST'), 'w') as f:
+            for fn in extra_info['filesizes']:
+                info = fn.split(':') #added
+                if info[2] in (target, target_multimach):
+                    f.write("%s %s %s\n" % (info[1], info[2], info[3]))
 }
 
 python write_sdk_test_data() {
@@ -88,12 +102,22 @@ python write_host_sdk_manifest () {
             bb.utils.mkdirhier(sdkmanifestdir)
         with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output:
             output.write(format_pkg_list(pkgs, 'ver'))
+    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
+        from oe.sdk import get_extra_sdkinfo
+        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-cache')
+        extra_info = get_extra_sdkinfo(sstate_dir)
+        host = d.getVar('BUILD_SYS')
+        with open(d.getVar('SDK_EXT_HOST_MANIFEST'), 'w') as f:
+            for fn in extra_info['filesizes']:
+                info = fn.split(':') #added
+                if info[2] == host:
+                    f.write("%s %s %s\n" % (info[1], info[2], info[3]))
 }
 
 POPULATE_SDK_POST_TARGET_COMMAND_append = " write_target_sdk_manifest ; write_sdk_test_data ; "
 POPULATE_SDK_POST_HOST_COMMAND_append = " write_host_sdk_manifest; "
 SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}"
-SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK_PACKAGING_COMMAND} "
+SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; write_target_sdk_manifest; write_host_sdk_manifest; ${SDK_PACKAGING_COMMAND} "
 
 def populate_sdk_common(d):
     from oe.sdk import populate_sdk
--
1.8.3.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest
  2017-02-21 22:48 ` [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest Francisco Pedraza
  2017-02-21 23:07   ` Pedraza Gonzalez, Francisco J
@ 2017-02-22 15:52   ` Joshua Lock
  2017-02-22 16:18     ` Aníbal Limón
  1 sibling, 1 reply; 6+ messages in thread
From: Joshua Lock @ 2017-02-22 15:52 UTC (permalink / raw)
  To: Francisco Pedraza, openembedded-core

On Tue, 2017-02-21 at 14:48 -0800, Francisco Pedraza wrote:
> This function writes on host and target manifest files for eSDK.
> [YOCTO #9038]
> 
> Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.
> com>
> ---
>  meta/classes/populate_sdk_base.bbclass | 26
> +++++++++++++++++++++++++-
>  1 file changed, 25 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/populate_sdk_base.bbclass
> b/meta/classes/populate_sdk_base.bbclass
> index 33665cd..db700d7 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -59,6 +59,9 @@ SDK_TITLE ?= "${@d.getVar('DISTRO_NAME') or
> d.getVar('DISTRO')} SDK"
>  
>  SDK_TARGET_MANIFEST =
> "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"
>  SDK_HOST_MANIFEST =
> "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
> +SDK_EXT_TARGET_MANIFEST =
> "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"
> +SDK_EXT_HOST_MANIFEST =
> "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"
> +
>  python write_target_sdk_manifest () {
>      if d.getVar('BB_CURRENTTASK') == 'populate_sdk':
>          from oe.sdk import sdk_list_installed_packages
> @@ -69,6 +72,17 @@ python write_target_sdk_manifest () {
>              bb.utils.mkdirhier(sdkmanifestdir)
>          with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output:
>              output.write(format_pkg_list(pkgs, 'ver'))
> +    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':

Rather than checking which task is running like this couldn't we do the
following logic in the
populate_sdk_ext.bbclass:write_target_sdk_manifest() and similarly move
the above into populate_sdk.bbclass?

Joshua
> +        from oe.sdk import get_extra_sdkinfo
> +        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-
> cache')
> +        extra_info = get_extra_sdkinfo(sstate_dir)
> +        target = d.getVar('TARGET_SYS')
> +        target_multimach = d.getVar('MULTIMACH_TARGET_SYS')
> +        with open(d.getVar('SDK_EXT_TARGET_MANIFEST'), 'w') as f:
> +            for fn in extra_info['filesizes']:
> +                info = fn.split(':') #added
> +                if info[2] in (target, target_multimach):
> +                    f.write("%s %s %s\n" % (info[1], info[2],
> info[3]))
>  }
>  
>  python write_sdk_test_data() {
> @@ -88,12 +102,22 @@ python write_host_sdk_manifest () {
>              bb.utils.mkdirhier(sdkmanifestdir)
>          with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output:
>              output.write(format_pkg_list(pkgs, 'ver'))
> +    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
> +        from oe.sdk import get_extra_sdkinfo
> +        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-
> cache')
> +        extra_info = get_extra_sdkinfo(sstate_dir)
> +        host = d.getVar('BUILD_SYS')
> +        with open(d.getVar('SDK_EXT_HOST_MANIFEST'), 'w') as f:
> +            for fn in extra_info['filesizes']:
> +                info = fn.split(':') #added
> +                if info[2] == host:
> +                    f.write("%s %s %s\n" % (info[1], info[2],
> info[3]))
>  }
>  
>  POPULATE_SDK_POST_TARGET_COMMAND_append = "
> write_target_sdk_manifest ; write_sdk_test_data ; "
>  POPULATE_SDK_POST_HOST_COMMAND_append = " write_host_sdk_manifest; "
>  SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if
> '${SDK_PACKAGING_FUNC}' else ''}"
> -SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots;
> tar_sdk; ${SDK_PACKAGING_COMMAND} "
> +SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots;
> tar_sdk; write_target_sdk_manifest; write_host_sdk_manifest;
> ${SDK_PACKAGING_COMMAND} "
>  
>  def populate_sdk_common(d):
>      from oe.sdk import populate_sdk
> -- 
> 1.8.3.1
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest
  2017-02-22 15:52   ` Joshua Lock
@ 2017-02-22 16:18     ` Aníbal Limón
  0 siblings, 0 replies; 6+ messages in thread
From: Aníbal Limón @ 2017-02-22 16:18 UTC (permalink / raw)
  To: Joshua Lock, Francisco Pedraza, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 4047 bytes --]



On 02/22/2017 09:52 AM, Joshua Lock wrote:
> On Tue, 2017-02-21 at 14:48 -0800, Francisco Pedraza wrote:
>> This function writes on host and target manifest files for eSDK.
>> [YOCTO #9038]
>>
>> Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.
>> com>
>> ---
>>  meta/classes/populate_sdk_base.bbclass | 26
>> +++++++++++++++++++++++++-
>>  1 file changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/populate_sdk_base.bbclass
>> b/meta/classes/populate_sdk_base.bbclass
>> index 33665cd..db700d7 100644
>> --- a/meta/classes/populate_sdk_base.bbclass
>> +++ b/meta/classes/populate_sdk_base.bbclass
>> @@ -59,6 +59,9 @@ SDK_TITLE ?= "${@d.getVar('DISTRO_NAME') or
>> d.getVar('DISTRO')} SDK"
>>  
>>  SDK_TARGET_MANIFEST =
>> "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"
>>  SDK_HOST_MANIFEST =
>> "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
>> +SDK_EXT_TARGET_MANIFEST =
>> "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"
>> +SDK_EXT_HOST_MANIFEST =
>> "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"
>> +
>>  python write_target_sdk_manifest () {
>>      if d.getVar('BB_CURRENTTASK') == 'populate_sdk':
>>          from oe.sdk import sdk_list_installed_packages
>> @@ -69,6 +72,17 @@ python write_target_sdk_manifest () {
>>              bb.utils.mkdirhier(sdkmanifestdir)
>>          with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output:
>>              output.write(format_pkg_list(pkgs, 'ver'))
>> +    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
> 
> Rather than checking which task is running like this couldn't we do the
> following logic in the
> populate_sdk_ext.bbclass:write_target_sdk_manifest() and similarly move
> the above into populate_sdk.bbclass?

Yes, that would be a good idea.

	alimon


> 
> Joshua
>> +        from oe.sdk import get_extra_sdkinfo
>> +        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-
>> cache')
>> +        extra_info = get_extra_sdkinfo(sstate_dir)
>> +        target = d.getVar('TARGET_SYS')
>> +        target_multimach = d.getVar('MULTIMACH_TARGET_SYS')
>> +        with open(d.getVar('SDK_EXT_TARGET_MANIFEST'), 'w') as f:
>> +            for fn in extra_info['filesizes']:
>> +                info = fn.split(':') #added
>> +                if info[2] in (target, target_multimach):
>> +                    f.write("%s %s %s\n" % (info[1], info[2],
>> info[3]))
>>  }
>>  
>>  python write_sdk_test_data() {
>> @@ -88,12 +102,22 @@ python write_host_sdk_manifest () {
>>              bb.utils.mkdirhier(sdkmanifestdir)
>>          with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output:
>>              output.write(format_pkg_list(pkgs, 'ver'))
>> +    elif d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
>> +        from oe.sdk import get_extra_sdkinfo
>> +        sstate_dir = d.expand('${SDK_OUTPUT}/${SDKPATH}/sstate-
>> cache')
>> +        extra_info = get_extra_sdkinfo(sstate_dir)
>> +        host = d.getVar('BUILD_SYS')
>> +        with open(d.getVar('SDK_EXT_HOST_MANIFEST'), 'w') as f:
>> +            for fn in extra_info['filesizes']:
>> +                info = fn.split(':') #added
>> +                if info[2] == host:
>> +                    f.write("%s %s %s\n" % (info[1], info[2],
>> info[3]))
>>  }
>>  
>>  POPULATE_SDK_POST_TARGET_COMMAND_append = "
>> write_target_sdk_manifest ; write_sdk_test_data ; "
>>  POPULATE_SDK_POST_HOST_COMMAND_append = " write_host_sdk_manifest; "
>>  SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if
>> '${SDK_PACKAGING_FUNC}' else ''}"
>> -SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots;
>> tar_sdk; ${SDK_PACKAGING_COMMAND} "
>> +SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots;
>> tar_sdk; write_target_sdk_manifest; write_host_sdk_manifest;
>> ${SDK_PACKAGING_COMMAND} "
>>  
>>  def populate_sdk_common(d):
>>      from oe.sdk import populate_sdk
>> -- 
>> 1.8.3.1
>>


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-02-22 16:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-21 22:48 [PATCH 1/3] lib/oe/sdk: Add get_extra_sdk_info to reuse code in buildhistory Francisco Pedraza
2017-02-21 22:48 ` [PATCH 2/3] meta/classes/populate_sdk_base: Only execute write manifest when is populate_sdk Francisco Pedraza
2017-02-21 22:48 ` [PATCH 3/3] classes/populate_sdk_base: Adds support to generate extensible sdk package manifest Francisco Pedraza
2017-02-21 23:07   ` Pedraza Gonzalez, Francisco J
2017-02-22 15:52   ` Joshua Lock
2017-02-22 16:18     ` Aníbal Limón

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.