summaryrefslogtreecommitdiffstats
path: root/external/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb')
-rw-r--r--external/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb83
1 files changed, 36 insertions, 47 deletions
diff --git a/external/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb b/external/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb
index 822c57ff..ebf5bab3 100644
--- a/external/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb
+++ b/external/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb
@@ -14,9 +14,9 @@ At a high level, we expect the scope of cri-o to be restricted to the following
- Resource isolation as required by the CRI \
"
-SRCREV_cri-o = "774a29ecf6855f2dff266dc2aa2fe81d7d964465"
+SRCREV_cri-o = "6d0ffae63b9b7d8f07e7f9cf50736a67fb31faf3"
SRC_URI = "\
- git://github.com/kubernetes-sigs/cri-o.git;nobranch=1;name=cri-o \
+ git://github.com/kubernetes-sigs/cri-o.git;branch=release-1.17;name=cri-o \
file://0001-Makefile-force-symlinks.patch \
file://crio.conf \
"
@@ -27,7 +27,7 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c2
GO_IMPORT = "import"
-PV = "1.12.0+git${SRCREV_cri-o}"
+PV = "1.17.0+git${SRCREV_cri-o}"
DEPENDS = " \
glib-2.0 \
@@ -35,15 +35,34 @@ DEPENDS = " \
gpgme \
ostree \
libdevmapper \
+ libseccomp \
+ libselinux \
"
RDEPENDS_${PN} = " \
cni \
+ libdevmapper \
"
+python __anonymous() {
+ msg = ""
+ # ERROR: Nothing PROVIDES 'libseccomp' (but /buildarea/layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb DEPENDS on or otherwise requires it).
+ # ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
+ # Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'cri-o', 'libseccomp']
+ if 'security' not in d.getVar('BBFILE_COLLECTIONS').split():
+ msg += "Make sure meta-security should be present as it provides 'libseccomp'"
+ raise bb.parse.SkipRecipe(msg)
+ # ERROR: Nothing PROVIDES 'libselinux' (but /buildarea/layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb DEPENDS on or otherwise requires it).
+ # ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
+ # Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'cri-o', 'libselinux']
+ elif 'selinux' not in d.getVar('BBFILE_COLLECTIONS').split():
+ msg += "Make sure meta-selinux should be present as it provides 'libselinux'"
+ raise bb.parse.SkipRecipe(msg)
+}
+
PACKAGES =+ "${PN}-config"
RDEPENDS_${PN} += " virtual/containerd virtual/runc"
-RDEPENDS_${PN} += " e2fsprogs-mke2fs"
+RDEPENDS_${PN} += " e2fsprogs-mke2fs conmon util-linux iptables conntrack-tools"
inherit systemd
inherit go
@@ -53,46 +72,11 @@ inherit pkgconfig
EXTRA_OEMAKE="BUILDTAGS=''"
do_compile() {
- export GOARCH="${TARGET_GOARCH}"
- export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
- export GOPATH="${S}/src/import:${S}/src/import/vendor"
-
- # Pass the needed cflags/ldflags so that cgo
- # can find the needed headers files and libraries
- export CGO_ENABLED="1"
- export CFLAGS=""
- export LDFLAGS=""
- export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
- export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
- # link fixups for compilation
- rm -f ${S}/src/import/vendor/src
- ln -sf ./ ${S}/src/import/vendor/src
-
- mkdir -p ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o
- ln -sf ../../../../cmd ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/cmd
- ln -sf ../../../../test ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/test
- ln -sf ../../../../oci ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/oci
- ln -sf ../../../../server ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/server
- ln -sf ../../../../pkg ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/pkg
- ln -sf ../../../../libpod ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/libpod
- ln -sf ../../../../libkpod ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/libkpod
- ln -sf ../../../../utils ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/utils
- ln -sf ../../../../types ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/types
- ln -sf ../../../../version ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/version
- ln -sf ../../../../lib ${S}/src/import/vendor/github.com/kubernetes-sigs/cri-o/lib
-
- export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
- export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
- # Pass the needed cflags/ldflags so that cgo
- # can find the needed headers files and libraries
- export CGO_ENABLED="1"
- export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
- export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+ set +e
cd ${S}/src/import
+ oe_runmake local-cross
oe_runmake binaries
}
@@ -101,12 +85,14 @@ SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','crio.
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
@@ -114,22 +100,25 @@ do_install() {
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 ${D}/${localbindir}
- install ${S}/src/import/bin/crio-config ${D}/${localbindir}
-
- install ${S}/src/import/bin/conmon ${D}/${localbindir}/crio
- install ${S}/src/import/bin/pause ${D}/${localbindir}/crio
+ 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"
-INHIBIT_PACKAGE_STRIP = "1"
INSANE_SKIP_${PN} += "ldflags already-stripped"
deltask compile_ptest_base
+COMPATIBLE_HOST = "^(?!(qemu)?mips).*"