[OE-core] [PATCH V2] report-error.bbclass: add local.conf/auto.conf into error report

Changqing Li changqing.li at windriver.com
Wed Sep 18 09:22:31 UTC 2019


It is ok to merge this repo first, and error-report-web still old,  
since error-report-web will ignore the new field.

but cannot update error-report-web to new one first,  or the database of 
error-report-web will report error

since report from oe-core don't provide default value for the new field 
of database.

On 9/18/19 9:31 AM, changqing.li at windriver.com wrote:
> From: Changqing Li <changqing.li at windriver.com>
>
> sometimes, it is not enough to reproduce a failed build with current
> info on error reports web, add local.conf/auto.conf into error
> report to make it more easier to reproduce failed build
>
> Note: this need work together with change in repo error-report-web,
> which will display local.conf and auto.conf as Error Details
>
> [YOCTO #13252]
>
> Signed-off-by: Changqing Li <changqing.li at windriver.com>
> ---
>   meta/classes/report-error.bbclass | 15 +++++++++++++++
>   1 file changed, 15 insertions(+)
>
> diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass
> index 1c55abf..ea043b2 100644
> --- a/meta/classes/report-error.bbclass
> +++ b/meta/classes/report-error.bbclass
> @@ -25,6 +25,19 @@ def errorreport_savedata(e, newdata, file):
>           json.dump(newdata, f, indent=4, sort_keys=True)
>       return datafile
>   
> +def get_conf_data(e, filename):
> +    builddir = e.data.getVar('TOPDIR')
> +    filepath = os.path.join(builddir, "conf", filename)
> +    jsonstring = ""
> +    if os.path.exists(filepath):
> +        with open(filepath, 'r') as f:
> +            for line in f.readlines():
> +                if line.startswith("#") or len(line.strip()) == 0:
> +                    continue
> +                else:
> +                    jsonstring=jsonstring + line
> +    return jsonstring
> +
>   python errorreport_handler () {
>           import json
>           import codecs
> @@ -51,6 +64,8 @@ python errorreport_handler () {
>               data['failures'] = []
>               data['component'] = " ".join(e.getPkgs())
>               data['branch_commit'] = str(base_detect_branch(e.data)) + ": " + str(base_detect_revision(e.data))
> +            data['local_conf'] = get_conf_data(e, 'local.conf')
> +            data['auto_conf'] = get_conf_data(e, 'auto.conf')
>               lock = bb.utils.lockfile(datafile + '.lock')
>               errorreport_savedata(e, data, "error-report.txt")
>               bb.utils.unlockfile(lock)

-- 
BRs

Sandy(Li Changqing)



More information about the Openembedded-core mailing list