mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-04 21:05:25 +02:00

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>
114 lines
3.7 KiB
BlitzBasic
114 lines
3.7 KiB
BlitzBasic
HOMEPAGE = "https://github.com/kubernetes-sigs/cri-o"
|
|
SUMMARY = "Open Container Initiative-based implementation of Kubernetes Container Runtime Interface"
|
|
DESCRIPTION = "cri-o is meant to provide an integration path between OCI conformant \
|
|
runtimes and the kubelet. Specifically, it implements the Kubelet Container Runtime \
|
|
Interface (CRI) using OCI conformant runtimes. The scope of cri-o is tied to the scope of the CRI. \
|
|
. \
|
|
At a high level, we expect the scope of cri-o to be restricted to the following functionalities: \
|
|
. \
|
|
- Support multiple image formats including the existing Docker image format \
|
|
- Support for multiple means to download images including trust & image verification \
|
|
- Container image management (managing image layers, overlay filesystems, etc) \
|
|
- Container process lifecycle management \
|
|
- Monitoring and logging required to satisfy the CRI \
|
|
- Resource isolation as required by the CRI \
|
|
"
|
|
|
|
SRCREV_cri-o = "f497d5004e8f2d903fa47e6d2e177c7237d861ff"
|
|
SRC_URI = "\
|
|
git://github.com/kubernetes-sigs/cri-o.git;branch=release-1.22;name=cri-o \
|
|
file://0001-Makefile-force-symlinks.patch \
|
|
file://crio.conf \
|
|
"
|
|
|
|
# Apache-2.0 for docker
|
|
LICENSE = "Apache-2.0"
|
|
LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
|
|
|
GO_IMPORT = "import"
|
|
|
|
PV = "1.22.0+git${SRCREV_cri-o}"
|
|
|
|
inherit features_check
|
|
REQUIRED_DISTRO_FEATURES ?= "seccomp"
|
|
|
|
DEPENDS = " \
|
|
glib-2.0 \
|
|
btrfs-tools \
|
|
gpgme \
|
|
ostree \
|
|
libdevmapper \
|
|
libseccomp \
|
|
libselinux \
|
|
"
|
|
RDEPENDS:${PN} = " \
|
|
cni \
|
|
libdevmapper \
|
|
"
|
|
|
|
PNBLACKLIST[cri-o] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'security', bb.utils.contains('BBFILE_COLLECTIONS', 'selinux', '', 'Depends on libselinux from meta-selinux which is not included', d), 'Depends on libseccomp from meta-security which is not included', d)}"
|
|
|
|
PACKAGES =+ "${PN}-config"
|
|
|
|
RDEPENDS:${PN} += " virtual/containerd virtual/runc"
|
|
RDEPENDS:${PN} += " e2fsprogs-mke2fs conmon util-linux iptables conntrack-tools"
|
|
|
|
inherit systemd
|
|
inherit go
|
|
inherit goarch
|
|
inherit pkgconfig
|
|
|
|
EXTRA_OEMAKE="BUILDTAGS=''"
|
|
|
|
do_compile() {
|
|
set +e
|
|
|
|
cd ${S}/src/import
|
|
|
|
oe_runmake local-cross
|
|
oe_runmake binaries
|
|
}
|
|
|
|
SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
|
|
SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','crio.service','',d)}"
|
|
SYSTEMD_AUTO_ENABLE:${PN} = "enable"
|
|
|
|
do_install() {
|
|
set +e
|
|
localbindir="/usr/local/bin"
|
|
|
|
install -d ${D}${localbindir}
|
|
install -d ${D}/${libexecdir}/crio
|
|
install -d ${D}/${sysconfdir}/crio
|
|
install -d ${D}${systemd_unitdir}/system/
|
|
install -d ${D}/usr/share/containers/oci/hooks.d
|
|
|
|
install ${WORKDIR}/crio.conf ${D}/${sysconfdir}/crio/crio.conf
|
|
|
|
# sample config files, they'll go in the ${PN}-config below
|
|
install -d ${D}/${sysconfdir}/crio/config/
|
|
install -m 755 -D ${S}/src/import/test/testdata/* ${D}/${sysconfdir}/crio/config/
|
|
|
|
install ${S}/src/import/bin/crio.cross.linux* ${D}/${localbindir}/crio
|
|
install ${S}/src/import/bin/crio-status ${D}/${localbindir}/
|
|
install ${S}/src/import/bin/pinns ${D}/${localbindir}/
|
|
|
|
install -m 0644 ${S}/src/import/contrib/systemd/crio.service ${D}${systemd_unitdir}/system/
|
|
install -m 0644 ${S}/src/import/contrib/systemd/crio-shutdown.service ${D}${systemd_unitdir}/system/
|
|
install -m 0644 ${S}/src/import/contrib/systemd/crio-wipe.service ${D}${systemd_unitdir}/system/
|
|
}
|
|
|
|
FILES:${PN}-config = "${sysconfdir}/crio/config/*"
|
|
FILES:${PN} += "${systemd_unitdir}/system/*"
|
|
FILES:${PN} += "/usr/local/bin/*"
|
|
FILES:${PN} += "/usr/share/containers/oci/hooks.d"
|
|
|
|
# don't clobber hooks.d
|
|
ALLOW_EMPTY:${PN} = "1"
|
|
|
|
INSANE_SKIP:${PN} += "ldflags already-stripped"
|
|
|
|
deltask compile_ptest_base
|
|
|
|
COMPATIBLE_HOST = "^(?!(qemu)?mips).*"
|