[oe-commits] [openembedded-core] 05/05: toaster.bbclass: Correct pkgdatadir path in toaster_package_dumpdata()

git at git.openembedded.org git at git.openembedded.org
Sat Jan 11 15:19:54 UTC 2020


This is an automated email from the git hooks/post-receive script.

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

commit 5a0f6f631b86f7107aa72453b6d23f32ba39f713
Author: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
AuthorDate: Wed Dec 11 02:06:09 2019 +0100

    toaster.bbclass: Correct pkgdatadir path in toaster_package_dumpdata()
    
    In commit 692b2046 (package: Fix race between do_package and
    do_packagedata), the path used for do_packagedata[sstate-inputdirs]
    was changed from "${PKGDESTWORK}" to "${WORKDIR}/pkgdata-pdata-input".
    This commit adapts the path used for pkgdatadir in
    toaster_package_dumpdata() accordingly to avoid setscene errors like:
    
      ERROR: libgcc-9.2.0-r0 do_packagedata_setscene: Error executing a
      python function in exec_python_func() autogenerated:
    
      The stack trace of python calls that resulted in this
      exception/failure was:
      File: 'exec_python_func() autogenerated', lineno: 2, function:
      <module>
           0001:
       *** 0002:toaster_package_dumpdata(d)
           0003:
      File: 'meta/classes/toaster.bbclass', lineno: 130, function:
      toaster_package_dumpdata
           0126:    lpkgdata = {}
           0127:    datadir = os.path.join(pkgdatadir, 'runtime')
           0128:
           0129:    # scan and send data for each generated package
       *** 0130:    for datafile in os.listdir(datadir):
           0131:        if not datafile.endswith('.packaged'):
           0132:            lpkgdata = _toaster_load_pkgdatafile(datadir,
           0133:            # Fire an event containing the pkg data
           0134:            bb.event.fire(bb.event.MetadataEvent(
      Exception: FileNotFoundError: [Errno 2] No such file or directory:
      'tmp/work/mips32r2el-nf-poky-linux/libgcc/9.2.0-r0/pkgdata/runtime'
    
    Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/toaster.bbclass | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
index 6cef0b8..6a65ecb 100644
--- a/meta/classes/toaster.bbclass
+++ b/meta/classes/toaster.bbclass
@@ -113,7 +113,7 @@ def _toaster_load_pkgdatafile(dirpath, filepath):
                 pass    # ignore lines without valid key: value pairs
     return pkgdata
 
-python toaster_package_dumpdata() {
+def _toaster_dumpdata(pkgdatadir, d):
     """
     Dumps the data about the packages created by a recipe
     """
@@ -122,7 +122,6 @@ python toaster_package_dumpdata() {
     if not d.getVar('PACKAGES'):
         return
 
-    pkgdatadir = d.getVar('PKGDESTWORK')
     lpkgdata = {}
     datadir = os.path.join(pkgdatadir, 'runtime')
 
@@ -132,6 +131,14 @@ python toaster_package_dumpdata() {
             lpkgdata = _toaster_load_pkgdatafile(datadir, datafile)
             # Fire an event containing the pkg data
             bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
+
+python toaster_package_dumpdata() {
+    _toaster_dumpdata(d.getVar('PKGDESTWORK'), d)
+}
+
+python toaster_packagedata_dumpdata() {
+    # This path needs to match do_packagedata[sstate-inputdirs]
+    _toaster_dumpdata(os.path.join(d.getVar('WORKDIR'), 'pkgdata-pdata-input'), d)
 }
 
 # 2. Dump output image files information
@@ -366,8 +373,8 @@ toaster_buildhistory_dump[eventmask] = "bb.event.BuildCompleted"
 addhandler toaster_artifacts
 toaster_artifacts[eventmask] = "bb.runqueue.runQueueTaskSkipped bb.runqueue.runQueueTaskCompleted"
 
-do_packagedata_setscene[postfuncs] += "toaster_package_dumpdata "
-do_packagedata_setscene[vardepsexclude] += "toaster_package_dumpdata "
+do_packagedata_setscene[postfuncs] += "toaster_packagedata_dumpdata "
+do_packagedata_setscene[vardepsexclude] += "toaster_packagedata_dumpdata "
 
 do_package[postfuncs] += "toaster_package_dumpdata "
 do_package[vardepsexclude] += "toaster_package_dumpdata "

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


More information about the Openembedded-commits mailing list