Enhancing the Golang support in Yocto Project - part 1
Sep 12, 2017We have been using the Golang here at O.S. Systems for multiple projects, especially our UpdateHub project which is on heavy development. Because of this work we have identified a few areas where the Golang support could be improved on Yocto Project, mainly:
- Multiple layers for providing support for Golang, like oe-meta-go, meta-golang, meta-virtualization and others;
- Different levels of quality of integration of Golang on those layers;
- Lack of SDK support on the OpenEmbedded-Core current integration.
After evaluating the current Golang support on OpenEmbedded-Core (added on the Pyro development cycle), oe-meta-go and meta-golang, we found that Matt Madison <matt@madison.systems> has done an outstanding job on meta-golang layer lately, so we contacted him to work on integrating his work back to OpenEmbedded-Core and we have succeed!
Short log of changes
So far, we have already merged a number of improvements on OpenEmbedded-Core, which can be seen below:
Matt Madison (4): go.bbclass: exported function cleanup go.bbclass: separate ${S} and ${B} go.bbclass: add do_unpack function to handle common cases go.bbclass: add GO_INSTALL_FILTEROUT variable Otavio Salvador (8): goarch.bbclass: Stop passing True as second argument of d.getVar go.bbclass: Fix binary installation path detection go: Remove Go 1.6 and 1.7 releases goarch.bbclass: Add support for ARMv5 go.bbclass: Use a global Go build flags go.bbclass: Enable parallel build go.bbclass: Use an auxiliary variable to add the build dependencies go-dep: Add 0.3.0 release
Now we are working on integrating the SDK support and dynamic linking onto OpenEmbedded-Core. Stay tuned for more! ;-)