OE-Core and Bitbake wrapper changes (min 2.7.3 python version)
Its not secret that I hate the current bitbake wrapper script and want to remove it for 101 different reasons.
I now have code which removes the need for the double execution of bitbake which was the only fundamental reason we had it. The question therefore remains, what to do with the other pieces of the wrapper, specifically the tar and git versions checks.
As a reminder for those who don't remember the problem here, the git version is checked since we use certain parameters in the git fetcher which need certain versions of git and git is in ASSUME_PROVIDED these days. Its possible to trigger git operations at part time to resolve revisions. tar is even more ugly since the wrong version has issues extracting sstate archives. These issues mean injecting building them into the dependency chain at the right point is hard.
Personally, I think we carry around a bit too much legacy these days and its starting to hurt us. I would therefore like to propose that we take this opportunity to do some spring cleaning and simply error on:
* broken tar versions
* too old versions of git
* python < 2.7.3
The python version check would move to the oe-init-build-env script, the git/tar versions to sanity.bbclass.
The recommendation for anyone with these older versions would be to install our standalone tools tarball which would have python 2.7.3 and working versions of tar/git.
The reason for the python version change is so we can embrace the unittest improvements in 2.7 and drop all of the workarounds for pre 2.7.3 bugs in bitbake. This starts to move us towards python 3, if this tarball works well, we'd use the same approach to move to python 3.
Any objections?
Cheers,
Richard
Quoted 31 lines · Richard Purdie
Its not secret that I hate the current bitbake wrapper script and want to remove it for 101 different reasons.
I now have code which removes the need for the double execution of bitbake which was the only fundamental reason we had it. The question therefore remains, what to do with the other pieces of the wrapper, specifically the tar and git versions checks.
As a reminder for those who don't remember the problem here, the git version is checked since we use certain parameters in the git fetcher which need certain versions of git and git is in
ASSUME_PROVIDEDthese days. Its possible to trigger git operations at part time to resolve revisions. tar is even more ugly since the wrong version has issues extracting sstate archives. These issues mean injecting building them into the dependency chain at the right point is hard.Personally, I think we carry around a bit too much legacy these days and its starting to hurt us. I would therefore like to propose that we take this opportunity to do some spring cleaning and simply error on:
* broken tar versions
* too old versions of git
* python < 2.7.3The python version check would move to the oe-init-build-env script, the git/tar versions to sanity.bbclass.
The recommendation for anyone with these older versions would be to install our standalone tools tarball which would have python 2.7.3 and working versions of tar/git.
Quoted 7 lines
The reason for the python version change is so we can embrace the unittest improvements in 2.7 and drop all of the workarounds for pre 2.7.3 bugs in bitbake. This starts to move us towards python 3, if this tarball works well, we'd use the same approach to move to python 3.
Any objections?
I fully agree in error on these situations and providing a workaround solution for old host systems seems perfect. This would clean a good amount of legacy code and I also agree it is the way to go. So count me as a supporter for it :)
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://projetos.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
Quoted 42 lines · Otavio Salvador
Quoted 36 lines · Richard Purdie
Its not secret that I hate the current bitbake wrapper script and want to remove it for 101 different reasons.
I now have code which removes the need for the double execution of bitbake which was the only fundamental reason we had it. The question therefore remains, what to do with the other pieces of the wrapper, specifically the tar and git versions checks.
As a reminder for those who don't remember the problem here, the git version is checked since we use certain parameters in the git fetcher which need certain versions of git and git is in
ASSUME_PROVIDEDthese days. Its possible to trigger git operations at part time to resolve revisions. tar is even more ugly since the wrong version has issues extracting sstate archives. These issues mean injecting building them into the dependency chain at the right point is hard.Personally, I think we carry around a bit too much legacy these days and its starting to hurt us. I would therefore like to propose that we take this opportunity to do some spring cleaning and simply error on:
* broken tar versions
* too old versions of git
* python < 2.7.3The python version check would move to the oe-init-build-env script, the git/tar versions to sanity.bbclass.
The recommendation for anyone with these older versions would be to install our standalone tools tarball which would have python 2.7.3 and working versions of tar/git.
The reason for the python version change is so we can embrace the unittest improvements in 2.7 and drop all of the workarounds for pre 2.7.3 bugs in bitbake. This starts to move us towards python 3, if this tarball works well, we'd use the same approach to move to python 3.
Quoted 8 lines
Quoted 2 lines
Any objections?
I fully agree in error on these situations and providing a workaround solution for old host systems seems perfect. This would clean a good amount of legacy code and I also agree it is the way to go. So count me as a supporter for it :)
Agreed, I'm in favor as well.
Signature · 1 line
Christopher Larson
Quoted 20 lines · Richard Purdie
Its not secret that I hate the current bitbake wrapper script and want to remove it for 101 different reasons.
I now have code which removes the need for the double execution of bitbake which was the only fundamental reason we had it. The question therefore remains, what to do with the other pieces of the wrapper, specifically the tar and git versions checks.
As a reminder for those who don't remember the problem here, the git version is checked since we use certain parameters in the git fetcher which need certain versions of git and git is in
ASSUME_PROVIDEDthese days. Its possible to trigger git operations at part time to resolve revisions. tar is even more ugly since the wrong version has issues extracting sstate archives. These issues mean injecting building them into the dependency chain at the right point is hard.Personally, I think we carry around a bit too much legacy these days and its starting to hurt us. I would therefore like to propose that we take this opportunity to do some spring cleaning and simply error on:
Quoted 6 lines
* broken tar versions
* too old versions of git
* python < 2.7.3The python version check would move to the oe-init-build-env script, the git/tar versions to sanity.bbclass.
Can we also add the python check to bitbake as well? My concern is not everyone uses the oe-init-build-env script, so ensuring that bitbake stops immediately and tells the user what's wrong is important.
Quoted 10 lines
The recommendation for anyone with these older versions would be to install our standalone tools tarball which would have python 2.7.3 and working versions of tar/git.
The reason for the python version change is so we can embrace the unittest improvements in 2.7 and drop all of the workarounds for pre 2.7.3 bugs in bitbake. This starts to move us towards python 3, if this tarball works well, we'd use the same approach to move to python 3.
Any objections?
No objection, this seems fine. It would be nice if there was a simple way (for the tar and git cases) to be able to build them as a user step and then be able to use them, but that "nice experience" can easily be handled by documentation as well.
--Mark
Quoted 11 lines
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 25 lines · Mark Hatle
Quoted 24 lines · Richard Purdie
Its not secret that I hate the current bitbake wrapper script and want to remove it for 101 different reasons.
I now have code which removes the need for the double execution of bitbake which was the only fundamental reason we had it. The question therefore remains, what to do with the other pieces of the wrapper, specifically the tar and git versions checks.
As a reminder for those who don't remember the problem here, the git version is checked since we use certain parameters in the git fetcher which need certain versions of git and git is in
ASSUME_PROVIDEDthese days. Its possible to trigger git operations at part time to resolve revisions. tar is even more ugly since the wrong version has issues extracting sstate archives. These issues mean injecting building them into the dependency chain at the right point is hard.Personally, I think we carry around a bit too much legacy these days and its starting to hurt us. I would therefore like to propose that we take this opportunity to do some spring cleaning and simply error on:
* broken tar versions
* too old versions of git
* python < 2.7.3
Quoted 6 lines
Quoted 2 lines
The python version check would move to the oe-init-build-env script, the git/tar versions to sanity.bbclass.
Can we also add the python check to bitbake as well? My concern is not everyone uses the oe-init-build-env script, so ensuring that bitbake stops immediately and tells the user what's wrong is important.
We do have checks in there and these will move to the new versions. The issue we've had before is that you get a syntax error from python trying to *parse* bin/bitbake. We obviously try and avoid that but it can slip in for older python versions.
Quoted 9 lines
Quoted 9 lines
The recommendation for anyone with these older versions would be to install our standalone tools tarball which would have python 2.7.3 and working versions of tar/git.
The reason for the python version change is so we can embrace the unittest improvements in 2.7 and drop all of the workarounds for pre 2.7.3 bugs in bitbake. This starts to move us towards python 3, if this tarball works well, we'd use the same approach to move to python 3.
Quoted 6 lines
Quoted 1 line
Any objections?
No objection, this seems fine. It would be nice if there was a simple way (for the tar and git cases) to be able to build them as a user step and then be able to use them, but that "nice experience" can easily be handled by documentation as well.
"bitbake tar-native-replacement git-native-replacement" will still be available as things stand but you'd have to put something into the sanity check to look at the recipes being targeted and skip the sanity tests. Its complexity I'd prefer not to have and will suck from a usability perspective since the user would have to remember to do this each time. The question "can't bitbake do this itself" then comes back but you really do need a wrapper as there is too much version specific knowledge. So in summary, I don't want to go here for the rapidly reducing number of users this affects.
Cheers,
Richard
Quoted 54 lines · Richard Purdie
Quoted 25 lines · Mark Hatle
Quoted 24 lines · Richard Purdie
Its not secret that I hate the current bitbake wrapper script and want to remove it for 101 different reasons.
I now have code which removes the need for the double execution of bitbake which was the only fundamental reason we had it. The question therefore remains, what to do with the other pieces of the wrapper, specifically the tar and git versions checks.
As a reminder for those who don't remember the problem here, the git version is checked since we use certain parameters in the git fetcher which need certain versions of git and git is in
ASSUME_PROVIDEDthese days. Its possible to trigger git operations at part time to resolve revisions. tar is even more ugly since the wrong version has issues extracting sstate archives. These issues mean injecting building them into the dependency chain at the right point is hard.Personally, I think we carry around a bit too much legacy these days and its starting to hurt us. I would therefore like to propose that we take this opportunity to do some spring cleaning and simply error on:
* broken tar versions
* too old versions of git
* python < 2.7.3Quoted 6 lines
Quoted 2 lines
The python version check would move to the oe-init-build-env script, the git/tar versions to sanity.bbclass.
Can we also add the python check to bitbake as well? My concern is not everyone uses the oe-init-build-env script, so ensuring that bitbake stops immediately and tells the user what's wrong is important.
We do have checks in there and these will move to the new versions. The issue we've had before is that you get a syntax error from python trying to *parse* bin/bitbake. We obviously try and avoid that but it can slip in for older python versions.
Quoted 9 lines
Quoted 9 lines
The recommendation for anyone with these older versions would be to install our standalone tools tarball which would have python 2.7.3 and working versions of tar/git.
The reason for the python version change is so we can embrace the unittest improvements in 2.7 and drop all of the workarounds for pre 2.7.3 bugs in bitbake. This starts to move us towards python 3, if this tarball works well, we'd use the same approach to move to python 3.
Quoted 6 lines
Quoted 1 line
Any objections?
No objection, this seems fine. It would be nice if there was a simple way (for the tar and git cases) to be able to build them as a user step and then be able to use them, but that "nice experience" can easily be handled by documentation as well.
Quoted 9 lines
"bitbake tar-native-replacement git-native-replacement" will still be available as things stand but you'd have to put something into the sanity check to look at the recipes being targeted and skip the sanity tests. Its complexity I'd prefer not to have and will suck from a usability perspective since the user would have to remember to do this each time. The question "can't bitbake do this itself" then comes back but you really do need a wrapper as there is too much version specific knowledge. So in summary, I don't want to go here for the rapidly reducing number of users this affects.
Sorry, I wasn't clear. I meant that when it fails, it points the user at documentation that explains how they can build git/tar, etc.. Adding the code to do the build automatically should not be needed.
Quoted 8 lines
Cheers,
Richard
Quoted 65 lines · Mark Hatle
Quoted 54 lines · Richard Purdie
Quoted 25 lines · Mark Hatle
Quoted 24 lines · Richard Purdie
Its not secret that I hate the current bitbake wrapper script and want to remove it for 101 different reasons.
I now have code which removes the need for the double execution of bitbake which was the only fundamental reason we had it. The question therefore remains, what to do with the other pieces of the wrapper, specifically the tar and git versions checks.
As a reminder for those who don't remember the problem here, the git version is checked since we use certain parameters in the git fetcher which need certain versions of git and git is in
ASSUME_PROVIDEDthese days. Its possible to trigger git operations at part time to resolve revisions. tar is even more ugly since the wrong version has issues extracting sstate archives. These issues mean injecting building them into the dependency chain at the right point is hard.Personally, I think we carry around a bit too much legacy these days and its starting to hurt us. I would therefore like to propose that we take this opportunity to do some spring cleaning and simply error on:
* broken tar versions
* too old versions of git
* python < 2.7.3Quoted 6 lines
Quoted 2 lines
The python version check would move to the oe-init-build-env script, the git/tar versions to sanity.bbclass.
Can we also add the python check to bitbake as well? My concern is not everyone uses the oe-init-build-env script, so ensuring that bitbake stops immediately and tells the user what's wrong is important.
We do have checks in there and these will move to the new versions. The issue we've had before is that you get a syntax error from python trying to *parse* bin/bitbake. We obviously try and avoid that but it can slip in for older python versions.
Quoted 9 lines
Quoted 9 lines
The recommendation for anyone with these older versions would be to install our standalone tools tarball which would have python 2.7.3 and working versions of tar/git.
The reason for the python version change is so we can embrace the unittest improvements in 2.7 and drop all of the workarounds for pre 2.7.3 bugs in bitbake. This starts to move us towards python 3, if this tarball works well, we'd use the same approach to move to python 3.
Quoted 6 lines
Quoted 1 line
Any objections?
No objection, this seems fine. It would be nice if there was a simple way (for the tar and git cases) to be able to build them as a user step and then be able to use them, but that "nice experience" can easily be handled by documentation as well.
Quoted 9 lines
"bitbake tar-native-replacement git-native-replacement" will still be available as things stand but you'd have to put something into the sanity check to look at the recipes being targeted and skip the sanity tests. Its complexity I'd prefer not to have and will suck from a usability perspective since the user would have to remember to do this each time. The question "can't bitbake do this itself" then comes back but you really do need a wrapper as there is too much version specific knowledge. So in summary, I don't want to go here for the rapidly reducing number of users this affects.
Quoted 3 lines
Sorry, I wasn't clear. I meant that when it fails, it points the user at documentation that explains how they can build git/tar, etc.. Adding the code to do the build automatically should not be needed.
I was thinking of just pointing them at a link to the manual which in turn would link to a tarball they could download and install...
Cheers,
Richard