Commit Graph

20 Commits

Author SHA1 Message Date
Martin Jansa
b70b45de8c packagegroup-container: respect seccomp in DISTRO_FEATURES
* fix f53b101d45

* you might want to skip whole packagegroup-netavark without
  seccomp, but without this parsing world in DISTRO without
  seccomp fails with:

ERROR: Nothing RPROVIDES 'netavark' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
netavark was skipped: missing required distro feature 'seccomp' (not in DISTRO_FEATURES)
NOTE: Runtime target 'netavark' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['netavark']
ERROR: Nothing RPROVIDES 'packagegroup-docker' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'packagegroup-docker'
NOTE: Runtime target 'packagegroup-docker' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-docker']
ERROR: Nothing RPROVIDES 'packagegroup-oci' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'packagegroup-oci'
NOTE: Runtime target 'packagegroup-oci' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-oci']
ERROR: Nothing RPROVIDES 'packagegroup-container' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'packagegroup-container'
NOTE: Runtime target 'packagegroup-container' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-container']
ERROR: Nothing RPROVIDES 'packagegroup-lxc' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'packagegroup-lxc'
NOTE: Runtime target 'packagegroup-lxc' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-lxc']
ERROR: Nothing RPROVIDES 'packagegroup-cni' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'packagegroup-cni'
NOTE: Runtime target 'packagegroup-cni' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-cni']
ERROR: Nothing RPROVIDES 'aardvark-dns' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
aardvark-dns was skipped: missing required distro feature 'seccomp' (not in DISTRO_FEATURES)
NOTE: Runtime target 'aardvark-dns' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['aardvark-dns']
ERROR: Nothing RPROVIDES 'conmon' (but meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
conmon was skipped: missing required distro feature 'seccomp' (not in DISTRO_FEATURES)
NOTE: Runtime target 'conmon' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['conmon']

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-21 04:28:51 +00:00
Bruce Ashfield
7afd21085b packagegroups: add iproute, iptables and tini
As it turns out CNI needs iptables to configure some plugins,
and without it we get a silent fail. It will also be added
to the recipe as a RRECOMMENDS, but we also put it in the
packagegroup for more visibility.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Bruce Ashfield
38470f4f2f packagegroups: add support utilities to cni and containerd
When debugging or configuration networking for CNI and
containerd we should ensure that support utilties are present.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Bruce Ashfield
f53b101d45 packagegroups: add new container package sets
Adding the following new pacakge groups:

    packagegroup-cni
    packagegroup-netavark
    packagegroup-container-tools

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Bruce Ashfield
e1d12c78c4 packagegroups: add cri-tools to kubernetes
cri-tools aims to provide a series of debugging and validation
   tools for Kubelet CRI, which includes:

   crictl: CLI for kubelet CRI.
   critest: validation test suites for kubelet CRI.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Jörg Sommer
002aaf7029 packagegroup-container: require ipv6 for podman
The recipe *podman* requires the distro feature *ipv6*. Using a distro
without it causes the build of *packagegroup-container* fails, even if
*packagegroup-podman* is not used:

    ERROR: Nothing RPROVIDES 'podman' (but /build/../work/layers-3rdparty/meta-virtualization/recipes-core/packagegroups/packagegroup-container.bb RDEPENDS on or otherwise requires it)
    podman was skipped: missing required distro feature 'ipv6' (not in DISTRO_FEATURES)
    NOTE: Runtime target 'podman' is unbuildable, removing...
    Missing or unbuildable dependency chain was: ['podman']
    NOTE: Runtime target 'packagegroup-docker' is unbuildable, removing...
    Missing or unbuildable dependency chain was: ['packagegroup-docker', 'podman']

Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-11-06 16:21:12 +00:00
Kai Kang
14a3a03937 packagegroup-kubernetes: set COMPATIBLE_HOST
packagegroup-kubernetes requires kubernetes which is only compatible
with x86_64, arm and aarch64, so set COMPATIBLE_HOST for
packagegroup-kubernetes to align with it.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-09-15 17:30:14 +00:00
Kai Kang
ebcc1cd73d packagegroup-container: not compatible with mips and riscv
The recipe docker-moby which is required by packagegroup-container is
not compatible with mips. And it inherits goarch.bbclass, so it is not
compatible with riscv32 too. Update COMPATIBLE_HOST accordingly for
packagegroup-container.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-09-15 17:30:14 +00:00
Changqing Li
8f25bfcbae oci-image-tools: don't build for riscv64
Currently oci-image-tools has a do_compile error for riscv64. The
problem could be reproduced by:
    MACHINE=qemuriscv64 bitbake oci-image-tools

So explicitly set COMPATIBLE_HOST here to avoid it building for riscv64.
When someone interested in using this recipe for riscv64 fixes the
compile issue, this setting could be removed.

Also don't build packagegroup-container/packagegroup-kubernetes since
they depends on oci-image-tools

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-09-04 03:05:49 +00:00
Bruce Ashfield
d4415a1ff7 kubernetes: install kubeadm and misc for nodes
To ensure nodes can join the cluster, and have the proper configuration
of some kernel options we add two more packages to the packagegroup

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-12-15 12:59:18 -05:00
Bruce Ashfield
fc5fdd79e0 k8s: add kubernetes to host packagegroup
Install the core kubernetes package (and RDEPENDS) as part of the
host packagegroup.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-12-13 12:27:11 -05:00
Bruce Ashfield
7b46286b34 virtual/containerd: don't rprovide virtual/
Similar to the oe-core commit:

   commit 93ac180d8c389f16964bce8bd5538d9389e970e6
   Author: Michael Opdenacker <michael.opdenacker@bootlin.com>
   Date:   Wed Sep 1 11:20:20 2021 +0200

       meta: stop using "virtual/" in RPROVIDES and RDEPENDS

       Fixes [YOCTO #14538]

       Recipes shouldn't use the "virtual/" string in RPROVIDES and RDEPENDS.

       That's confusing because "virtual/" has no special meaning in
       RPROVIDES and RDEPENDS (unlike in PROVIDES and DEPENDS).

       Instead, using "virtual-" instead of "virtual/"
       as already done in the glibc recipe.

We stop rproviding virtual/containerd to keep the namespace clean.
There aren't many users of this virtual provides, but we keep
it around (for now) to maintain compatibility.

At the same time we convert the RPROVIDES to virtual-containerd, to keep
it available and consistent with oe-core use virtual-libc, etc.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-09-06 10:57:17 -04:00
Bruce Ashfield
263e4d3d4e virtual/runc: don't rprovide virtual/
Similar to the oe-core commit:

   commit 93ac180d8c389f16964bce8bd5538d9389e970e6
   Author: Michael Opdenacker <michael.opdenacker@bootlin.com>
   Date:   Wed Sep 1 11:20:20 2021 +0200

       meta: stop using "virtual/" in RPROVIDES and RDEPENDS

       Fixes [YOCTO #14538]

       Recipes shouldn't use the "virtual/" string in RPROVIDES and RDEPENDS.

       That's confusing because "virtual/" has no special meaning in
       RPROVIDES and RDEPENDS (unlike in PROVIDES and DEPENDS).

       Instead, using "virtual-" instead of "virtual/"
       as already done in the glibc recipe.

We stop rproviding virtual/runc to keep the namespace clean.
There aren't many users of this virtual provides, but we keep
it around (for now) to maintain compatibility.

At the same time we convert the RPROVIDES to virtual-runc, to keep
it available and consistent with oe-core use virtual-libc, etc.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-09-06 10:57:17 -04:00
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.

This is pass one of updating the meta-virt recipes to use that
syntax.

This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions

Note: A recent bitbake is required:

    commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sun Jul 18 12:59:15 2021 +0100

        bitbake: data_smart/parse: Allow ':' characters in variable/function names

        It is becomming increasingly clear we need to find a way to show what
        is/is not an override in our syntax. We need to do this in a way which
        is clear to users, readable and in a way we can transition to.

        The most effective way I've found to this is to use the ":" charater
        to directly replace "_" where an override is being specified. This
        includes "append", "prepend" and "remove" which are effectively special
        override directives.

        This patch simply adds the character to the parser so bitbake accepts
        the value but maps it back to "_" internally so there is no behaviour
        change.

        This change is simple enough it could potentially be backported to older
        version of bitbake meaning layers using the new syntax/markup could
        work with older releases. Even if other no other changes are accepted
        at this time and we don't backport, it does set us on a path where at
        some point in future we could
        require a more explict syntax.

        I've tested this patch by converting oe-core/meta-yocto to the new
        syntax for overrides (9000+ changes) and then seeing that builds
        continue to work with this patch.

        (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:17:53 -04:00
Diego Sueiro
66994bf37e packagegroup-container: Include podman if seccomp is in DISTRO_FEATURES
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-06-30 11:19:21 -04:00
Bruce Ashfield
a4f08e110e packages: drop libseccomp checks / package blacklist
libseccomp has moved to oe-core, so we can drop our checks and
blacklisting of packages if meta-security is not in the layer
configuration.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-26 11:17:27 -04:00
Martin Jansa
04f8621d82 cri-o, podman, packagegroup-container: replace anonymous python function calling bb.parse.SkipRecipe with conditional PNBLACKLISTs
* PNBLACKLISTs are IMHO a bit easier to read and easier to override from distro
  which e.g. provides own recipe for libseccomp

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-06 20:34:26 -04:00
Martin Jansa
4ea3d76821 packagegroup-container: skip without meta-security because of podman
* copy the skip from podman recipe, because this packagegroup
  depends on podman

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-06 20:33:53 -04:00
Martin Jansa
1dda063e0c packagegroup-kubernets: add seccomp to REQUIRED_DISTRO_FEATURES
* fixes world build:
ERROR: Nothing RPROVIDES 'k3s-server' (but meta-virtualization/recipes-core/packagegroups/packagegroup-kubernetes.bb RDEPENDS on or otherwise requires it)
k3s RPROVIDES k3s-server but was skipped: missing required distro feature 'seccomp' (not in DISTRO_FEATURES)
NOTE: Runtime target 'k3s-server' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['k3s-server']
ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'packagegroup-kubernetes', 'k3s-server']

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-06 20:27:38 -04:00
Bruce Ashfield
af1690d851 containers: add a base container and kubernetes base packagegroup
To make it easier to build container host or k*s host images (as
well as guests), we start to add some packagegroups that wrap the
required elements.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-15 23:15:42 -04:00