Reviewed-by: Martin Kaistra <martin.kaistra@...> Signed-off-by: Alexander Kanavin <alex@...> --- COPYING.MIT | 17 +++++++++++++++++ README | 23 +++++++++++++++++++++++ conf/layer.conf | 19 +++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 COPYING.MIT create mode 100644 README create mode 100644 conf/layer.conf diff --git a/COPYING.MIT b/COPYING.MIT new file mode 100644 index 0000000..fb950dc --- /dev/null +++ b/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README b/README new file mode 100644 index 0000000..5b22b72 --- /dev/null +++ b/README @@ -0,0 +1,23 @@ +"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS. + +At the time Dunfell was released in April 2020, Go 1.14 was the latest version +and officially Dunfell supports only that. This thin special-purpose mixin +layer is meant to address this issue by backporting Go recipes from the master +branch of openembedded-core. + +You can see what Go versions are provided by listing recipes-devtools/ content. + +Including the layer automatically picks up the latest Go version; different versions +need to be set explicitly by adding the following line to your distro config +or local.conf: + +GOVERSION = "1.16%" + +Please note: enabling these newer Go versions makes docker from dunfell branch +of meta-virtualization unbuildable as it is too old. If you need a working docker +recipe, you can use the supplementary 'dunfell/docker' layer from this meta-lts-mixin +repository. + + +Maintainers: +Alexander Kanavin <alex@...> diff --git a/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..5f74224 --- /dev/null +++ b/conf/layer.conf @@ -0,0 +1,19 @@ +# We have a conf and classes directory, append to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a recipes directory, add to BBFILES +BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" + +BBFILE_COLLECTIONS += "lts-go-mixin" +BBFILE_PATTERN_lts-go-mixin := "^${LAYERDIR}/" +BBFILE_PRIORITY_lts-go-mixin = "6" + +LAYERSERIES_COMPAT_lts-go-mixin = "dunfell" + +LAYERDEPENDS_lts-go-mixin = " \ + core \ +" + +GOVERSION ?= "1.17%" +PREFERRED_PROVIDER_go-native = "go-binary-native"
Just out of curiosity: I thought the agreement was that neither PREFERRED_PROVIDER_* nor recipe/provider specific settings should be part of a layer.conf PREFERRED_PROVIDER_go-native as a hard assignment might be troublesome in some setups (mainly depending on what order bblayers.conf actually has)