* [PATCH] bitbake-layers: Handle exception raised bytinfoil.prepare()
@ 2017-02-02 22:29 Aníbal Limón
2017-02-14 16:32 ` Aníbal Limón
0 siblings, 1 reply; 2+ messages in thread
From: Aníbal Limón @ 2017-02-02 22:29 UTC (permalink / raw)
To: bitbake-devel; +Cc: paul.eggleton
The tinfoil.prepare method can raise Exceptions when is parsing initial
data so add this call inside try, finally to avoid get blocked for
don't call tinfoil.shutdown().
The tinfoil_init function was remove because isn't make sense now since
tinfoil.prepare() needs to be inside try, finally closures.
Example of raised exception and gets blocked:
$ bitbake-layers add-layer ~/repos/meta-openembedded/meta-python/
Traceback (most recent call last):
File "/home/alimon/repos/poky/bitbake/bin/bitbake-layers", line 83, in
main
tinfoil.prepare(True)
...
File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 268, in
run_command
raise TinfoilCommandFailed(result[1])
bb.tinfoil.TinfoilCommandFailed: Traceback (most recent call last):
File "/home/alimon/repos/poky/bitbake/lib/bb/command.py", line 81, in
runCommand
result = command_method(self, commandline)
...
File "/home/alimon/repos/poky/bitbake/lib/bb/cooker.py", line 1314, in
handleCollections
raise CollectionError("Errors during parsing layer configuration")
bb.cooker.CollectionError: Errors during parsing layer configuration
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
bin/bitbake-layers | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/bin/bitbake-layers b/bin/bitbake-layers
index 1e2cfbc..66fc7ca 100755
--- a/bin/bitbake-layers
+++ b/bin/bitbake-layers
@@ -31,15 +31,6 @@ sys.path[0:0] = [os.path.join(topdir, 'lib')]
import bb.tinfoil
-
-def tinfoil_init(parserecipes):
- import bb.tinfoil
- tinfoil = bb.tinfoil.Tinfoil(tracking=True)
- tinfoil.prepare(not parserecipes)
- tinfoil.logger.setLevel(logger.getEffectiveLevel())
- return tinfoil
-
-
def logger_create(name, output=sys.stderr):
logger = logging.getLogger(name)
loggerhandler = logging.StreamHandler(output)
@@ -86,8 +77,10 @@ def main():
logger_setup_color(logger, global_args.color)
plugins = []
- tinfoil = tinfoil_init(False)
+ tinfoil = bb.tinfoil.Tinfoil(tracking=True)
+ tinfoil.logger.setLevel(logger.getEffectiveLevel())
try:
+ tinfoil.prepare(True)
for path in ([topdir] +
tinfoil.config_data.getVar('BBPATH').split(':')):
pluginpath = os.path.join(path, 'lib', 'bblayers')
--
2.1.4
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] bitbake-layers: Handle exception raised bytinfoil.prepare()
2017-02-02 22:29 [PATCH] bitbake-layers: Handle exception raised bytinfoil.prepare() Aníbal Limón
@ 2017-02-14 16:32 ` Aníbal Limón
0 siblings, 0 replies; 2+ messages in thread
From: Aníbal Limón @ 2017-02-14 16:32 UTC (permalink / raw)
To: bitbake-devel; +Cc: paul.eggleton
[-- Attachment #1: Type: text/plain, Size: 2572 bytes --]
ping
On 02/02/2017 04:29 PM, Aníbal Limón wrote:
> The tinfoil.prepare method can raise Exceptions when is parsing initial
> data so add this call inside try, finally to avoid get blocked for
> don't call tinfoil.shutdown().
>
> The tinfoil_init function was remove because isn't make sense now since
> tinfoil.prepare() needs to be inside try, finally closures.
>
> Example of raised exception and gets blocked:
>
> $ bitbake-layers add-layer ~/repos/meta-openembedded/meta-python/
>
> Traceback (most recent call last):
> File "/home/alimon/repos/poky/bitbake/bin/bitbake-layers", line 83, in
> main
> tinfoil.prepare(True)
> ...
> File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 268, in
> run_command
> raise TinfoilCommandFailed(result[1])
> bb.tinfoil.TinfoilCommandFailed: Traceback (most recent call last):
> File "/home/alimon/repos/poky/bitbake/lib/bb/command.py", line 81, in
> runCommand
> result = command_method(self, commandline)
> ...
> File "/home/alimon/repos/poky/bitbake/lib/bb/cooker.py", line 1314, in
> handleCollections
> raise CollectionError("Errors during parsing layer configuration")
> bb.cooker.CollectionError: Errors during parsing layer configuration
>
> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
> ---
> bin/bitbake-layers | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/bin/bitbake-layers b/bin/bitbake-layers
> index 1e2cfbc..66fc7ca 100755
> --- a/bin/bitbake-layers
> +++ b/bin/bitbake-layers
> @@ -31,15 +31,6 @@ sys.path[0:0] = [os.path.join(topdir, 'lib')]
>
> import bb.tinfoil
>
> -
> -def tinfoil_init(parserecipes):
> - import bb.tinfoil
> - tinfoil = bb.tinfoil.Tinfoil(tracking=True)
> - tinfoil.prepare(not parserecipes)
> - tinfoil.logger.setLevel(logger.getEffectiveLevel())
> - return tinfoil
> -
> -
> def logger_create(name, output=sys.stderr):
> logger = logging.getLogger(name)
> loggerhandler = logging.StreamHandler(output)
> @@ -86,8 +77,10 @@ def main():
> logger_setup_color(logger, global_args.color)
>
> plugins = []
> - tinfoil = tinfoil_init(False)
> + tinfoil = bb.tinfoil.Tinfoil(tracking=True)
> + tinfoil.logger.setLevel(logger.getEffectiveLevel())
> try:
> + tinfoil.prepare(True)
> for path in ([topdir] +
> tinfoil.config_data.getVar('BBPATH').split(':')):
> pluginpath = os.path.join(path, 'lib', 'bblayers')
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-02-14 16:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-02 22:29 [PATCH] bitbake-layers: Handle exception raised bytinfoil.prepare() Aníbal Limón
2017-02-14 16:32 ` Aníbal Limón
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox