[OE-core] [master][zeus][PATCH] toaster.bbclass: Correct pkgdatadir path in toaster_package_dumpdata()
Peter Kjellerstedt
peter.kjellerstedt at axis.com
Sat Jan 11 03:32:23 UTC 2020
*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 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