[OE-core] [master][zeus][PATCH] toaster.bbclass: Correct pkgdatadir path in toaster_package_dumpdata()

Peter Kjellerstedt peter.kjellerstedt at axis.com
Wed Jan 15 03:37:57 UTC 2020


> -----Original Message-----
> From: akuster808 <akuster808 at gmail.com>
> Sent: den 11 januari 2020 21:26
> To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>; openembedded-
> core at lists.openembedded.org
> Subject: Re: [OE-core] [master][zeus][PATCH] toaster.bbclass: Correct
> pkgdatadir path in toaster_package_dumpdata()
> 
> On 1/10/20 7:32 PM, Peter Kjellerstedt wrote:
> > *ping*
> Now that its in master,
> 
> I will queue it up for zeus.

Please do. 

I would like these commits to be cherry-picked from master of 
bitbake to the 1.44 branch:

56b5ec4c2b knotty: Hide the footer if a process progress bar is shown
1e96df260e cooker: Keep track of watched files using a set instead of a list

And the following to be cherry-picked from master of 
openembedded-core to the zeus branch:

5a0f6f631b toaster.bbclass: Correct pkgdatadir path in toaster_package_dumpdata()
40c30990e1 populate_sdk_ext.bbclass: No longer needed to clean away conf/sanity_info
f98103b548 sanity.bbclass: Move sanity_info from conf to cache
64daaf29e2 licenses.conf: Remove the SRC_DISTRIBUTE_LICENSES variable
8c9ef587fe license.bbclass: Introduce AVAILABLE_LICENSES that lists all licenses

They should all cherry-pick cleanly to their respective target 
branch.

> - armin

//Peter

> > //Peter
> >
> >> -----Original Message-----
> >> From: openembedded-core-bounces at lists.openembedded.org <openembedded-
> core-
> >> bounces at lists.openembedded.org> On Behalf Of Peter Kjellerstedt
> >> Sent: den 22 december 2019 14:02
> >> To: openembedded-core at lists.openembedded.org
> >> Subject: Re: [OE-core] [master][zeus][PATCH] toaster.bbclass: Correct
> >> pkgdatadir path in toaster_package_dumpdata()
> >>
> >> *ping*
> >>
> >> //Peter
> >>
> >>> -----Original Message-----
> >>> From: openembedded-core-bounces at lists.openembedded.org <openembedded-
> >> core-
> >>> bounces at lists.openembedded.org> On Behalf Of Peter Kjellerstedt
> >>> Sent: den 11 december 2019 02:06
> >>> To: openembedded-core at lists.openembedded.org
> >>> Subject: [OE-core] [master][zeus][PATCH] 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>
> >>> ---
> >>>  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 6cef0b8f6e..6a65ecb957 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 "
> >>> --
> >>> 2.21.0
> >>>
> >>> --
> >>> _______________________________________________
> >>> Openembedded-core mailing list
> >>> Openembedded-core at lists.openembedded.org
> >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >> --
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core at lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list