[OE-core] [PATCH 1/2] toaster.bbclass: Fix error when toaster is used to monitor a build

Mark Hatle mark.hatle at kernel.crashing.org
Tue Jan 28 18:08:47 UTC 2020


Ping.

On 1/21/20 6:27 PM, Mark Hatle wrote:
> The error being corrected looks like:
> 
> File: '/home/jenkins/workspace/OEBuild/build-32/oe-core/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, datafile)
>      0133:            # Fire an event containing the pkg data
>      0134:            bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
> Exception: FileNotFoundError: [Errno 2] No such file or directory: '/home/jenkins/workspace/OEBuild/builds/build-32/tmp-glibc/work/core2-64-oe-linux/puzzles/2_0.0+gitAUTOINC+c6e0161dd4-r0/pkgdata/runtime'
> 
> There must be a small window before the data is available, but while the monitoring is on-going.
> 
> Signed-off-by: Mark Hatle <mark.hatle at kernel.crashing.org>
> ---
>  meta/classes/toaster.bbclass | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
> index 6a65ecb957..9518ddf7a4 100644
> --- a/meta/classes/toaster.bbclass
> +++ b/meta/classes/toaster.bbclass
> @@ -126,11 +126,12 @@ def _toaster_dumpdata(pkgdatadir, d):
>      datadir = os.path.join(pkgdatadir, 'runtime')
>  
>      # scan and send data for each generated package
> -    for datafile in os.listdir(datadir):
> -        if not datafile.endswith('.packaged'):
> -            lpkgdata = _toaster_load_pkgdatafile(datadir, datafile)
> -            # Fire an event containing the pkg data
> -            bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
> +    if os.path.exists(datadir):
> +        for datafile in os.listdir(datadir):
> +            if not datafile.endswith('.packaged'):
> +                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)
> 


More information about the Openembedded-core mailing list