* [PATCH] Revert "classes/buildhistory: also save recipe info for native recipes"
@ 2020-10-23 10:46 Richard Purdie
2020-10-23 10:47 ` [OE-core] " Ross Burton
0 siblings, 1 reply; 3+ messages in thread
From: Richard Purdie @ 2020-10-23 10:46 UTC (permalink / raw)
To: openembedded-core; +Cc: Paul Eggleton
This reverts commit d123606c4bef85c2436b40f51e47b602b7600c0b.
This change contains races as it will start poking into do_package task
directories from do_populate_sysroot. If we want to do this for native
recipes, we need to add guards around the package code and only make
this happen for native in populate_sysroot, not target in
populate_sysroot too. Backtrace from an example problem below:
ERROR: openssl-1.1.1g-r0 do_populate_sysroot: 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:buildhistory_emit_pkghistory(d)
0003:
File: '/home/ross/Yocto/poky/meta/classes/buildhistory.bbclass', lineno: 319, function: buildhistory_emit_pkghistory
0315:
0316: write_pkghistory(pkginfo, d)
0317:
0318: # Create files-in-<package-name>.txt files containing a list of files of each recipe's package
*** 0319: bb.build.exec_func("buildhistory_list_pkg_files", d)
0320:}
0321:
0322:python buildhistory_emit_outputsigs() {
0323: if not "task" in (d.getVar('BUILDHISTORY_FEATURES') or "").split():
File: '/home/ross/Yocto/poky/bitbake/lib/bb/build.py', lineno: 256, function: exec_func
0252: with bb.utils.fileslocked(lockfiles):
0253: if ispython:
0254: exec_func_python(func, d, runfile, cwd=adir)
0255: else:
*** 0256: exec_func_shell(func, d, runfile, cwd=adir)
0257:
0258: try:
0259: curcwd = os.getcwd()
0260: except:
File: '/home/ross/Yocto/poky/bitbake/lib/bb/build.py', lineno: 503, function: exec_func_shell
0499: with open(fifopath, 'r+b', buffering=0) as fifo:
0500: try:
0501: bb.debug(2, "Executing shell function %s" % func)
0502: with open(os.devnull, 'r+') as stdin, logfile:
*** 0503: bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
0504: except bb.process.ExecutionError as exe:
0505: # Find the backtrace that the shell trap generated
0506: backtrace_marker_regex = re.compile(r"WARNING: Backtrace \(BB generated script\)")
0507: stdout_lines = (exe.stdout or "").split("\n")
File: '/home/ross/Yocto/poky/bitbake/lib/bb/process.py', lineno: 184, function: run
0180: if not stderr is None:
0181: stderr = stderr.decode("utf-8")
0182:
0183: if pipe.returncode != 0:
*** 0184: raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
0185: return stdout, stderr
Exception: bb.process.ExecutionError: Execution of '/yocto/ross/build/tmp/work/neoversen1-poky-linux/openssl/1.1.1g-r0/temp/run.buildhistory_list_pkg_files.4158804' failed with exit code 2:
/yocto/ross/build/tmp/work/neoversen1-poky-linux/openssl/1.1.1g-r0/temp/run.buildhistory_list_pkg_files.4158804: 183: cd: can't cd to /yocto/ross/build/tmp/work/neoversen1-poky-linux/openssl/1.1.1g-r0/packages-split/openssl-engines
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/classes/buildhistory.bbclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 6d04d8cfb9b..7d5e3eb8fd6 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -90,7 +90,8 @@ buildhistory_emit_sysroot() {
python buildhistory_emit_pkghistory() {
if d.getVar('BB_CURRENTTASK') in ['populate_sysroot', 'populate_sysroot_setscene']:
bb.build.exec_func("buildhistory_emit_sysroot", d)
- elif not d.getVar('BB_CURRENTTASK') in ['packagedata', 'packagedata_setscene']:
+
+ if not d.getVar('BB_CURRENTTASK') in ['packagedata', 'packagedata_setscene']:
return 0
if not "package" in (d.getVar('BUILDHISTORY_FEATURES') or "").split():
@@ -228,9 +229,8 @@ python buildhistory_emit_pkghistory() {
break
except IOError as e:
if e.errno == errno.ENOENT:
- if not bb.data.inherits_class('native', d):
- # Probably a -cross recipe, just ignore
- return 0
+ # Probably a -cross recipe, just ignore
+ return 0
else:
raise
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH] Revert "classes/buildhistory: also save recipe info for native recipes"
2020-10-23 10:46 [PATCH] Revert "classes/buildhistory: also save recipe info for native recipes" Richard Purdie
@ 2020-10-23 10:47 ` Ross Burton
2020-10-23 11:09 ` Paul Eggleton
0 siblings, 1 reply; 3+ messages in thread
From: Ross Burton @ 2020-10-23 10:47 UTC (permalink / raw)
To: Richard Purdie; +Cc: OE-core, Paul Eggleton
Verified this fixes my build failures.
Ross
On Fri, 23 Oct 2020 at 11:46, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> This reverts commit d123606c4bef85c2436b40f51e47b602b7600c0b.
>
> This change contains races as it will start poking into do_package task
> directories from do_populate_sysroot. If we want to do this for native
> recipes, we need to add guards around the package code and only make
> this happen for native in populate_sysroot, not target in
> populate_sysroot too. Backtrace from an example problem below:
>
> ERROR: openssl-1.1.1g-r0 do_populate_sysroot: 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:buildhistory_emit_pkghistory(d)
> 0003:
> File: '/home/ross/Yocto/poky/meta/classes/buildhistory.bbclass', lineno: 319, function: buildhistory_emit_pkghistory
> 0315:
> 0316: write_pkghistory(pkginfo, d)
> 0317:
> 0318: # Create files-in-<package-name>.txt files containing a list of files of each recipe's package
> *** 0319: bb.build.exec_func("buildhistory_list_pkg_files", d)
> 0320:}
> 0321:
> 0322:python buildhistory_emit_outputsigs() {
> 0323: if not "task" in (d.getVar('BUILDHISTORY_FEATURES') or "").split():
> File: '/home/ross/Yocto/poky/bitbake/lib/bb/build.py', lineno: 256, function: exec_func
> 0252: with bb.utils.fileslocked(lockfiles):
> 0253: if ispython:
> 0254: exec_func_python(func, d, runfile, cwd=adir)
> 0255: else:
> *** 0256: exec_func_shell(func, d, runfile, cwd=adir)
> 0257:
> 0258: try:
> 0259: curcwd = os.getcwd()
> 0260: except:
> File: '/home/ross/Yocto/poky/bitbake/lib/bb/build.py', lineno: 503, function: exec_func_shell
> 0499: with open(fifopath, 'r+b', buffering=0) as fifo:
> 0500: try:
> 0501: bb.debug(2, "Executing shell function %s" % func)
> 0502: with open(os.devnull, 'r+') as stdin, logfile:
> *** 0503: bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
> 0504: except bb.process.ExecutionError as exe:
> 0505: # Find the backtrace that the shell trap generated
> 0506: backtrace_marker_regex = re.compile(r"WARNING: Backtrace \(BB generated script\)")
> 0507: stdout_lines = (exe.stdout or "").split("\n")
> File: '/home/ross/Yocto/poky/bitbake/lib/bb/process.py', lineno: 184, function: run
> 0180: if not stderr is None:
> 0181: stderr = stderr.decode("utf-8")
> 0182:
> 0183: if pipe.returncode != 0:
> *** 0184: raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
> 0185: return stdout, stderr
> Exception: bb.process.ExecutionError: Execution of '/yocto/ross/build/tmp/work/neoversen1-poky-linux/openssl/1.1.1g-r0/temp/run.buildhistory_list_pkg_files.4158804' failed with exit code 2:
> /yocto/ross/build/tmp/work/neoversen1-poky-linux/openssl/1.1.1g-r0/temp/run.buildhistory_list_pkg_files.4158804: 183: cd: can't cd to /yocto/ross/build/tmp/work/neoversen1-poky-linux/openssl/1.1.1g-r0/packages-split/openssl-engines
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> meta/classes/buildhistory.bbclass | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
> index 6d04d8cfb9b..7d5e3eb8fd6 100644
> --- a/meta/classes/buildhistory.bbclass
> +++ b/meta/classes/buildhistory.bbclass
> @@ -90,7 +90,8 @@ buildhistory_emit_sysroot() {
> python buildhistory_emit_pkghistory() {
> if d.getVar('BB_CURRENTTASK') in ['populate_sysroot', 'populate_sysroot_setscene']:
> bb.build.exec_func("buildhistory_emit_sysroot", d)
> - elif not d.getVar('BB_CURRENTTASK') in ['packagedata', 'packagedata_setscene']:
> +
> + if not d.getVar('BB_CURRENTTASK') in ['packagedata', 'packagedata_setscene']:
> return 0
>
> if not "package" in (d.getVar('BUILDHISTORY_FEATURES') or "").split():
> @@ -228,9 +229,8 @@ python buildhistory_emit_pkghistory() {
> break
> except IOError as e:
> if e.errno == errno.ENOENT:
> - if not bb.data.inherits_class('native', d):
> - # Probably a -cross recipe, just ignore
> - return 0
> + # Probably a -cross recipe, just ignore
> + return 0
> else:
> raise
>
> --
> 2.25.1
>
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH] Revert "classes/buildhistory: also save recipe info for native recipes"
2020-10-23 10:47 ` [OE-core] " Ross Burton
@ 2020-10-23 11:09 ` Paul Eggleton
0 siblings, 0 replies; 3+ messages in thread
From: Paul Eggleton @ 2020-10-23 11:09 UTC (permalink / raw)
To: Richard Purdie, openembedded-core; +Cc: OE-core, Paul Eggleton, Ross Burton
On Friday, 23 October 2020 23:47:38 NZDT Ross Burton wrote:
> Verified this fixes my build failures.
>
> Ross
My apologies, this was not properly thought out nor sufficiently tested.
Paul
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-10-23 11:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-23 10:46 [PATCH] Revert "classes/buildhistory: also save recipe info for native recipes" Richard Purdie
2020-10-23 10:47 ` [OE-core] " Ross Burton
2020-10-23 11:09 ` Paul Eggleton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.