[meta-lts-mixins,dunfell/go,1/4] Initial commit: add license, readme and layer config.

Message ID 20220127144323.3121475-1-alex@linutronix.de
State New
Headers show
Series [meta-lts-mixins,dunfell/go,1/4] Initial commit: add license, readme and layer config. | expand

Commit Message

Alexander Kanavin Jan. 27, 2022, 2:43 p.m. UTC
Reviewed-by: Martin Kaistra <martin.kaistra@linutronix.de>
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 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

Comments

Konrad Weihmann Jan. 27, 2022, 2:48 p.m. UTC | #1
On 27.01.22 15:43, Alexander Kanavin wrote:
> Reviewed-by: Martin Kaistra <martin.kaistra@linutronix.de>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>   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@linutronix.de>
> 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)

> +
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#55990): https://lists.yoctoproject.org/g/yocto/message/55990
> Mute This Topic: https://lists.yoctoproject.org/mt/88722205/3647476
> Group Owner: yocto+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [kweihmann@outlook.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Jan. 27, 2022, 2:50 p.m. UTC | #2
On Thu, 27 Jan 2022 at 15:48, Konrad Weihmann <kweihmann@outlook.com> wrote:

> > +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)
>

Yes, but this way it 'just works'. I do not think writing complicated
instructions in README for what needs to be in local.conf or distro config
is a better alternative. Suggestions welcome.

Alex

Patch

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@linutronix.de>
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"
+