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

akuster808 akuster808 at gmail.com
Sat Jan 11 20:25:30 UTC 2020



On 1/10/20 7:32 PM, Peter Kjellerstedt wrote:
> *ping*
Now that its in master,

I will queue it up for zeus.

- armin

>
> //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