PLEASE READ: Major change landing shortly (python whitespace)
It's become clear we have a horrible mixture of whitespace (tabs and space) in python functions. At first glance this sounds trivial but there is a serious problem if pieces of code get mixed together with different whitespace since they may or may not work as intended.
The documented standard for python functions is four space indentation although we have a mixture. Fixing this sounds simple at first, we just go through and change tabs to spaces. The problem comes with _append and _prepend to python functions since both need their whitespace changed at the same time. populate_packages() is the real problem child in that regard but its the less common examples I worry about.
I did some research and we have inconsistencies, even in existing functions since people are editing files and getting confused (understandably).
So the question becomes, how do we get ourselves out of this mess?
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
The TSC agrees we should do something about this rather than perpetuate the problem and that this is as good a solution as any of us can come up with. We also agreed that we should do it sooner than later before it gets any later in this release cycle. Putting it off until the next release cycle didn't seem to offer any advantage, we might as well get on with it.
So I am going to:
a) Try and flush through as many pending patches as I can.
b) Check in a warning into bitbake master and increase its version
c) Require that version in OE-Core
d) Commit a significant set of whitespace changes to OE-Core, resolving all the warnings for OE-Core.
I plan to do this, tomorrow, Thursday.
The reason for getting on with it is that the patches are horrible to carry around and that any other patches made against OE-Core will likely need to be remade to apply after these changes. I therefore don't want a week of waiting around discussing it, this is something I believe we need to do now and be done with it. I'm also not going to post the whitespace patches for review, I'll write+merge them and then be responsive for accepting fixes for anything that gets broken. They will only be whitespace changes.
I appreciate this is going to cause some disruption but I think there is a problem worth solving here and this is the best way to do it. If anyone has any strong objections I'm open to alternative ideas.
The bitbake patch to error on tab whitespace is included below. I'll try and post a branch with the whitespace fixes on later today.
Cheers,
Richard
bitbake/lib/bb/data.py +2 -0
@@ -291,6 +291,8 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d): if d.getVarFlag(key, "python"): parsedvar = d.expandWithRefs(value, key) parser = bb.codeparser.PythonParser(key, logger) + if parsedvar.value and "\t" in parsedvar.value: + bb.warn("Variable %s contains tabs, please remove these" % key) parser.parse_python(parsedvar.value) deps = deps | parser.references else:
bitbake/lib/bb/parse/ast.py +2 -2
@@ -212,9 +212,9 @@ class ExportFuncsNode(AstNode): data.setVarFlag(calledvar, flag, data.getVarFlag(var, flag)) if data.getVarFlag(calledvar, "python"): - data.setVar(var, "\tbb.build.exec_func('" + calledvar + "', d)\n") + data.setVar(var, " bb.build.exec_func('" + calledvar + "', d)\n") else: - data.setVar(var, "\t" + calledvar + "\n") + data.setVar(var, " " + calledvar + "\n") data.setVarFlag(var, 'export_func', '1') class AddTaskNode(AstNode):
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a Makefile in a python function?).
Ross
Quoted 11 lines · Ross
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a
Makefilein a python function?).
The check is for actual tab characters, not "\t". There are some legitimate users of tab characters which I've replaced with \t in strings.
My current patch work in progress for the conversion is:
Cheers,
Richard
Quoted 13 lines · Richard Purdie
Quoted 11 lines · Ross
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a
Makefilein a python function?).
Quoted 7 lines
The check is for actual tab characters, not "\t". There are some legitimate users of tab characters which I've replaced with \t in strings.
My current patch work in progress for the conversion is:
Would be great if someone updates
bitbake/contrib/vim to highlight tabs, so that every tab would be easily spotted in recipe/bbclass.
And maybe also meta-openembedded/contrib/oe-stylize.py, but that seems to expand tabs to spaces already.
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 24 lines · Martin Jansa
Quoted 13 lines · Richard Purdie
Quoted 11 lines · Ross
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a
Makefilein a python function?).Quoted 7 lines
The check is for actual tab characters, not "\t". There are some legitimate users of tab characters which I've replaced with \t in strings.
My current patch work in progress for the conversion is:
Would be great if someone updates
Quoted 10 lines
bitbake/contrib/vim to highlight tabs, so that every tab would be easily spotted in recipe/bbclass.
And maybe also
meta-openembedded/contrib/oe-stylize.py, but that seems to expand tabs to spaces already.Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Hi,
should we enable the vim unwanted spaces/tabs higlighting too?
Bye Henning
Quoted 13 lines · Richard Purdie
Quoted 11 lines · Ross
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a
Makefilein a python function?).
Quoted 7 lines
The check is for actual tab characters, not "\t". There are some legitimate users of tab characters which I've replaced with \t in strings.
My current patch work in progress for the conversion is:
from those 2 patches which were just merged I see that you're converting strictly python functions, can we extend this tabs->spaces rule also to bash tasks like do_install etc?
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 18 lines · Martin Jansa
Quoted 17 lines · Richard Purdie
Quoted 11 lines · Ross
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a
Makefilein a python function?).The check is for actual tab characters, not "\t". There are some legitimate users of tab characters which I've replaced with \t in strings.
Quoted 7 lines
Quoted 3 lines
My current patch work in progress for the conversion is:
from those 2 patches which were just merged I see that you're converting strictly python functions, can we extend this
tabs->spacesrule also to bash tasks likedo_installetc?
Shell tasks should be tabs according to the style guide. Its harder to check the indentation in those and if the indentation is wrong, it doesn't matter since they're not whitespace sensitive.
So whilst I'd welcome fixing them up, I don't think they need bitbake enforcing policy in the same way as python functions.
Cheers,
Richard
Quoted 27 lines · Richard Purdie
Quoted 18 lines · Martin Jansa
Quoted 17 lines · Richard Purdie
Quoted 11 lines · Ross
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a
Makefilein a python function?).The check is for actual tab characters, not "\t". There are some legitimate users of tab characters which I've replaced with \t in strings.
Quoted 7 lines
Quoted 3 lines
My current patch work in progress for the conversion is:
from those 2 patches which were just merged I see that you're converting strictly python functions, can we extend this
tabs->spacesrule also to bash tasks likedo_installetc?
Quoted 6 lines
Shell tasks should be tabs according to the style guide. Its harder to check the indentation in those and if the indentation is wrong, it doesn't matter since they're not whitespace sensitive.
So whilst I'd welcome fixing them up, I don't think they need bitbake enforcing policy in the same way as python functions.
Agreed about not forcing the check or updating all .bb/.inc files with this now, but maybe style guide should be updated now?
I really don't like files with mixed indentation (even when it doesn't hurt) especially with a lot of files not conforming to style guide now, using even mix of tabs/spaces on the same line..
FWIW: I've prepared patch for whole meta-smartphone to unify that and I've sent RFC for few bbclasses in meta-oe too.
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 38 lines · Martin Jansa
Quoted 27 lines · Richard Purdie
Quoted 18 lines · Martin Jansa
Quoted 17 lines · Richard Purdie
Quoted 11 lines · Ross
Quoted 4 lines · Richard Purdie
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
Have you ran that warning over oe-core to check that there are not any legitimate uses of \t, not for indentation but inside strings? I can't think of any realistic use but you never know (construct a
Makefilein a python function?).The check is for actual tab characters, not "\t". There are some legitimate users of tab characters which I've replaced with \t in strings.
Quoted 7 lines
Quoted 3 lines
My current patch work in progress for the conversion is:
from those 2 patches which were just merged I see that you're converting strictly python functions, can we extend this
tabs->spacesrule also to bash tasks likedo_installetc?Quoted 6 lines
Shell tasks should be tabs according to the style guide. Its harder to check the indentation in those and if the indentation is wrong, it doesn't matter since they're not whitespace sensitive.
So whilst I'd welcome fixing them up, I don't think they need bitbake enforcing policy in the same way as python functions.
Agreed about not forcing the check or updating all .bb/.inc files with this now, but maybe style guide should be updated now?
Quoted 6 lines
I really don't like files with mixed indentation (even when it doesn't hurt) especially with a lot of files not conforming to style guide now, using even mix of tabs/spaces on the same line..
FWIW: I've prepared patch for whole meta-smartphone to unify that and I've sent RFC for few bbclasses in meta-oe too.
I know you've sent me link do different style guide last time I've asked, but first google hit (for openembedded style guide):
http://www.openembedded.org/wiki/Styleguide
says about tabs only this:
- Use spaces for indentation as developers tends to use different amount of spaces per one tab.
So only in yocto wiki there are 2 more bullets after that
https://wiki.yoctoproject.org/wiki/Recipe_%26_Patch_Style_Guide
- Use spaces for indentation as developers tends to use different amount of spaces per one tab.
- Shell functions should use tabs
- Python functions should use spaces (4 spaces per indent).
And yocto style guide is not in first 5 pages of result when searching for "openembedded style guide".
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 30 lines · Richard Purdie
It's become clear we have a horrible mixture of whitespace (tabs and space) in python functions. At first glance this sounds trivial but there is a serious problem if pieces of code get mixed together with different whitespace since they may or may not work as intended.
The documented standard for python functions is four space indentation although we have a mixture. Fixing this sounds simple at first, we just go through and change tabs to spaces. The problem comes with
_appendand_prependto python functions since both need their whitespace changed at the same time.populate_packages()is the real problem child in that regard but its the less common examples I worry about.I did some research and we have inconsistencies, even in existing functions since people are editing files and getting confused (understandably).
So the question becomes, how do we get ourselves out of this mess?
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
The TSC agrees we should do something about this rather than perpetuate the problem and that this is as good a solution as any of us can come up with. We also agreed that we should do it sooner than later before it gets any later in this release cycle. Putting it off until the next release cycle didn't seem to offer any advantage, we might as well get on with it.
Quoted 5 lines
So I am going to:
a) Try and flush through as many pending patches as I can.
b) Check in a warning into bitbake master and increase its version
c) Require that version in OE-Core
Great.. this is usefull also for latest change from proto to protocol param in fetcher, but please make sure that the svn.py patch I've sent yesterday is also in before release..
Quoted 64 lines
d) Commit a significant set of whitespace changes to OE-Core, resolving all the warnings for OE-Core.
I plan to do this, tomorrow, Thursday.
The reason for getting on with it is that the patches are horrible to carry around and that any other patches made against OE-Core will likely need to be remade to apply after these changes. I therefore don't want a week of waiting around discussing it, this is something I believe we need to do now and be done with it. I'm also not going to post the whitespace patches for review, I'll write+merge them and then be responsive for accepting fixes for anything that gets broken. They will only be whitespace changes.
I appreciate this is going to cause some disruption but I think there is a problem worth solving here and this is the best way to do it. If anyone has any strong objections I'm open to alternative ideas.
The bitbake patch to error on tab whitespace is included below. I'll try and post a branch with the whitespace fixes on later today.
Cheers,
Richard
bitbake/lib/bb/data.py +2
-0@@ -291,6 +291,8 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d): if d.getVarFlag(key, "python"): parsedvar = d.expandWithRefs(value, key) parser = bb.codeparser.PythonParser(key, logger) + if parsedvar.value and "\t" in parsedvar.value: + bb.warn("Variable %s contains tabs, please remove these" % key) parser.parse_python(parsedvar.value) deps = deps | parser.references else:bitbake/lib/bb/parse/ast.py +2
-2@@ -212,9 +212,9 @@ class ExportFuncsNode(AstNode): data.setVarFlag(calledvar, flag, data.getVarFlag(var, flag)) if data.getVarFlag(calledvar, "python"): - data.setVar(var, "\tbb.build.exec_func('" + calledvar + "', d)\n") + data.setVar(var, " bb.build.exec_func('" + calledvar + "', d)\n") else: - data.setVar(var, "\t" + calledvar + "\n") + data.setVar(var, " " + calledvar + "\n") data.setVarFlag(var, 'export_func', '1') class AddTaskNode(AstNode):_______________________________________________
bitbake-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 33 lines · Martin Jansa
Quoted 32 lines · Richard Purdie
It's become clear we have a horrible mixture of whitespace (tabs and space) in python functions. At first glance this sounds trivial but there is a serious problem if pieces of code get mixed together with different whitespace since they may or may not work as intended.
The documented standard for python functions is four space indentation although we have a mixture. Fixing this sounds simple at first, we just go through and change tabs to spaces. The problem comes with
_appendand_prependto python functions since both need their whitespace changed at the same time.populate_packages()is the real problem child in that regard but its the less common examples I worry about.I did some research and we have inconsistencies, even in existing functions since people are editing files and getting confused (understandably).
So the question becomes, how do we get ourselves out of this mess?
I put a proposal to the TSC, that we have bitbake warn/error whenever it finds tab characters in any python function. The advantage of this is that we give the user a clear definitive error. The downside is that we'll have to go through all the metadata and scrub it for the problem.
The TSC agrees we should do something about this rather than perpetuate the problem and that this is as good a solution as any of us can come up with. We also agreed that we should do it sooner than later before it gets any later in this release cycle. Putting it off until the next release cycle didn't seem to offer any advantage, we might as well get on with it.
So I am going to:
Quoted 7 lines
Quoted 3 lines
a) Try and flush through as many pending patches as I can.
b) Check in a warning into bitbake master and increase its version
c) Require that version in OE-CoreGreat.. this is usefull also for latest change from proto to protocol param in fetcher, but please make sure that the
svn.pypatch I've sent yesterday is also in before release..
I was aware of this issue too which was at the back of my mind when I proposed this. The svn patch is in now.
Cheers,
Richard
Quoted 4 lines · Richard Purdie
snip
So I am going to:
Quoted 8 lines
a) Try and flush through as many pending patches as I can.
b) Check in a warning into bitbake master and increase its version
c) Require that version in OE-Core
d) Commit a significant set of whitespace changes to OE-Core, resolving all the warnings for OE-Core.I plan to do this, tomorrow, Thursday.
Richard,
I think I've hit an issue with the white spaces today:
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing RunQueue Tasks
NOTE: Running task 1 of 2 (ID: 0,
virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean)
NOTE: package bison-native-2.5-r2: task do_clean: Started
ERROR: Error executing a python function in/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb:
OSError: [Errno 39] Directory not empty:
'/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp'
ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR: File "do_clean", line 16, in <module>
ERROR:
ERROR: File "do_clean", line 6, in do_clean
ERROR:
ERROR: File
"/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/lib/oe/path.py",
line 94, in remove
ERROR: shutil.rmtree(name)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 245, in rmtree
ERROR: rmtree(fullname, ignore_errors, onerror)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
ERROR: onerror(os.rmdir, path, sys.exc_info())
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
ERROR: os.rmdir(path)
ERROR:
ERROR: The code that was being executed was:
ERROR: 0012: for f in (d.getVar('CLEANFUNCS', True) or
'').split():
ERROR: 0013: bb.build.exec_func(f, d) ERROR: 0014: ERROR: 0015: ERROR: *** 0016:do_clean(d) ERROR: 0017: ERROR: (file: 'do_clean', lineno: 16, function: <module>) ERROR: 0002:def do_clean(d): ERROR: 0003: """clear the build and temp directories""" ERROR: 0004: dir =
d.expand("/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2")
ERROR: 0005: bb.note("Removing " + dir)
ERROR: *** 0006: oe.path.remove(dir)
ERROR: 0007:
ERROR: 0008: dir = "%s.*" %bb.data.expand(d.getVar('STAMP'), d)
ERROR: 0009: bb.note("Removing " + dir)
ERROR: 0010: oe.path.remove(dir) ERROR: (file: 'do_clean', lineno: 6, function: do_clean)
ERROR: Function failed: do_clean
NOTE: package bison-native-2.5-r2: task do_clean: Failed
ERROR: Task 0
(virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
rerun and 1 failed.
Summary: 1 task failed:
virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean
Summary: There was 1 WARNING message shown.
Summary: There were 37 ERROR messages shown, returning a non-zero
exit code.
Cheers,
Jack.
Signature · 5 lines
Jack Mitchell ([email protected]) Embedded Systems Engineer http://www.embed.me.uk --
Quoted 18 lines · Jack Mitchell
Quoted 4 lines · Richard Purdie
snip
So I am going to:
Quoted 8 lines
a) Try and flush through as many pending patches as I can.
b) Check in a warning into bitbake master and increase its version
c) Require that version in OE-Core
d) Commit a significant set of whitespace changes to OE-Core, resolving all the warnings for OE-Core.I plan to do this, tomorrow, Thursday.
Richard,
I think I've hit an issue with the white spaces today:
Quoted 11 lines
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing RunQueue Tasks
NOTE: Running task 1 of 2 (ID: 0,
virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean)
NOTE: package bison-native-2.5-r2: taskdo_clean: Started
ERROR: Error executing a python function in/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb:
OSError: [Errno 39] Directory not empty:
'/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp'
Do you think that this directory is full of white spaces? :)
I don't think this is related to todays white space changes, because I see errors like this from time to time..
Cheers,
Quoted 74 lines
ERROR: The stack trace of python calls that resulted in this
exception/failure was:
ERROR: File "do_clean", line 16, in <module>
ERROR:
ERROR: File "do_clean", line 6, indo_clean
ERROR:
ERROR: File
"/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/lib/oe/path.py",
line 94, in remove
ERROR:shutil.rmtree(name)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 245, in rmtree
ERROR:rmtree(fullname, ignore_errors, onerror)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
ERROR:onerror(os.rmdir, path, sys.exc_info())
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
ERROR:os.rmdir(path)
ERROR:
ERROR: The code that was being executed was:
ERROR: 0012: for f in (d.getVar('CLEANFUNCS', True)or
'').split():
ERROR: 0013:bb.build.exec_func(f, d)
ERROR: 0014:
ERROR: 0015:
ERROR: *** 0016:do_clean(d)
ERROR: 0017:
ERROR: (file: 'do_clean', lineno: 16, function: <module>)
ERROR: 0002:defdo_clean(d):
ERROR: 0003: """clear the build and temp directories"""
ERROR: 0004: dir =d.expand("/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2")ERROR: 0005: bb.note("Removing " + dir) ERROR: *** 0006: oe.path.remove(dir) ERROR: 0007: ERROR: 0008: dir = "%s.*" % bb.data.expand(d.getVar('STAMP'), d) ERROR: 0009: bb.note("Removing " + dir) ERROR: 0010: oe.path.remove(dir)ERROR: (file: '
do_clean', lineno: 6, function:do_clean)
ERROR: Function failed:do_clean
NOTE: package bison-native-2.5-r2: taskdo_clean: Failed
ERROR: Task 0
(virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
rerun and 1 failed.Summary: 1 task failed:
virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean
Summary: There was 1 WARNING message shown.
Summary: There were 37 ERROR messages shown, returning a non-zero
exit code.Cheers,
Jack.Signature · 11 lines
Jack Mitchell ([email protected]) Embedded Systems Engineer http://www.embed.me.uk -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 29 lines · Martin Jansa
Quoted 17 lines · Jack Mitchell
Quoted 4 lines · Richard Purdie
snip
So I am going to:
Quoted 8 lines
a) Try and flush through as many pending patches as I can.
b) Check in a warning into bitbake master and increase its version
c) Require that version in OE-Core
d) Commit a significant set of whitespace changes to OE-Core, resolving all the warnings for OE-Core.I plan to do this, tomorrow, Thursday.
Richard,
I think I've hit an issue with the white spaces today:
Quoted 11 lines
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing RunQueue Tasks
NOTE: Running task 1 of 2 (ID: 0,
virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean)
NOTE: package bison-native-2.5-r2: taskdo_clean: Started
ERROR: Error executing a python function in/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb:
OSError: [Errno 39] Directory not empty:
'/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp'
Quoted 81 lines
Do you think that this directory is full of white spaces? :)
I don't think this is related to todays white space changes, because I see errors like this from time to time..
Cheers,
Quoted 73 lines
ERROR: The stack trace of python calls that resulted in this
exception/failure was:
ERROR: File "do_clean", line 16, in <module>
ERROR:
ERROR: File "do_clean", line 6, indo_clean
ERROR:
ERROR: File
"/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/lib/oe/path.py",
line 94, in remove
ERROR:shutil.rmtree(name)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 245, in rmtree
ERROR:rmtree(fullname, ignore_errors, onerror)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
ERROR:onerror(os.rmdir, path, sys.exc_info())
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
ERROR:os.rmdir(path)
ERROR:
ERROR: The code that was being executed was:
ERROR: 0012: for f in (d.getVar('CLEANFUNCS', True)or
'').split():
ERROR: 0013:bb.build.exec_func(f, d)
ERROR: 0014:
ERROR: 0015:
ERROR: *** 0016:do_clean(d)
ERROR: 0017:
ERROR: (file: 'do_clean', lineno: 16, function: <module>)
ERROR: 0002:defdo_clean(d):
ERROR: 0003: """clear the build and temp directories"""
ERROR: 0004: dir =d.expand("/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2")ERROR: 0005: bb.note("Removing " + dir) ERROR: *** 0006: oe.path.remove(dir) ERROR: 0007: ERROR: 0008: dir = "%s.*" % bb.data.expand(d.getVar('STAMP'), d) ERROR: 0009: bb.note("Removing " + dir) ERROR: 0010: oe.path.remove(dir)ERROR: (file: '
do_clean', lineno: 6, function:do_clean)
ERROR: Function failed:do_clean
NOTE: package bison-native-2.5-r2: taskdo_clean: Failed
ERROR: Task 0
(virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
rerun and 1 failed.Summary: 1 task failed:
virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
do_clean
Summary: There was 1 WARNING message shown.
Summary: There were 37 ERROR messages shown, returning a non-zero
exit code.Cheers,
Jack.Signature · 11 lines
Jack Mitchell ([email protected]) Embedded Systems Engineer http://www.embed.me.uk -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Ok, so I should just rm -rf the Bison directory and have another go? I've never seen this before and it happened as soon as I pulled the white-space changes along with the error looking to be in the python function so I assumed a mishap somewhere...
My python isn't great and the trace made it look like it was pointing to failures with all the inconsistent spacing in the trace output.
Cheers,
Signature · 5 lines
Jack Mitchell ([email protected]) Embedded Systems Engineer http://www.embed.me.uk --