mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 12:50:22 +02:00

When the go-lang container recipes were first created there were issues with strip and the resulting binaries. As such, strip was inhibited for the various packages. This variable is now set in the default classes, and tests show that strip works on the binaries (saving up to 2M on disk for some binaries) with no runtime issues found. So we drop our explicit set of the inhibit and let the build proceed by the defaults. If issues are found, we can re-enable the setting or bbappends can turn it back on for builds showing issues. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
150 lines
5.6 KiB
BlitzBasic
150 lines
5.6 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 = "f61719a88b7de10a88c50e35640f4a7f1f53fbab"
|
|
SRC_URI = "\
|
|
git://github.com/kubernetes-sigs/cri-o.git;branch=release-1.15;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.15.0+git${SRCREV_cri-o}"
|
|
|
|
DEPENDS = " \
|
|
glib-2.0 \
|
|
btrfs-tools \
|
|
gpgme \
|
|
ostree \
|
|
libdevmapper \
|
|
libseccomp \
|
|
libselinux \
|
|
"
|
|
RDEPENDS_${PN} = " \
|
|
cni \
|
|
"
|
|
|
|
PACKAGES =+ "${PN}-config"
|
|
|
|
RDEPENDS_${PN} += " virtual/containerd virtual/runc"
|
|
RDEPENDS_${PN} += " e2fsprogs-mke2fs"
|
|
|
|
inherit systemd
|
|
inherit go
|
|
inherit goarch
|
|
inherit pkgconfig
|
|
|
|
EXTRA_OEMAKE="BUILDTAGS=''"
|
|
CRIO_BUILD_CROSS ?= "1"
|
|
|
|
do_compile() {
|
|
set +e
|
|
export GOPATH="${S}/src/import:${S}/src/import/vendor"
|
|
|
|
# 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
|
|
|
|
|
|
rm -f ${S}/src/import/src
|
|
ln -sf ./ ${S}/src/import/src
|
|
mkdir -p ${S}/src/import/src/github.com/cri-o/cri-o/cmd
|
|
ln -sf ../../../../cmd/crio-config ${S}/src/import/src/github.com/cri-o/cri-o/cmd
|
|
ln -sf ../../../lib ${S}/src/import/src/github.com/cri-o/cri-o/lib
|
|
ln -sf ../../../oci ${S}/src/import/src/github.com/cri-o/cri-o/oci
|
|
ln -sf ../../../pkg ${S}/src/import/src/github.com/cri-o/cri-o/pkg
|
|
ln -sf ../../../utils ${S}/src/import/src/github.com/cri-o/cri-o/utils
|
|
ln -sf ../../../version ${S}/src/import/src/github.com/cri-o/cri-o/version
|
|
ln -sf ../../../server ${S}/src/import/src/github.com/cri-o/cri-o/server
|
|
ln -sf ../../../types ${S}/src/import/src/github.com/cri-o/cri-o/types
|
|
|
|
# fixes the bin/crio build of oe_runmake binaries below
|
|
ln -sf ../../../../cmd/crio ${S}/src/import/src/github.com/cri-o/cri-o/cmd/
|
|
|
|
cd ${S}/src/import
|
|
|
|
if [ "${CRIO_BUILD_CROSS}" = "1" ]; then
|
|
# New: using the -cross target. But this doesn't build conmon and pause. So
|
|
# keeping the old parts around if someone yells.
|
|
oe_runmake local-cross
|
|
else
|
|
# Build conmon/config.h, requires native versions of
|
|
# cmd/crio-config/config.go and oci/oci.go
|
|
(CGO_ENABLED=0 GO=go GOARCH=${BUILD_GOARCH} GOOS=${BUILD_GOOS} oe_runmake conmon/config.h)
|
|
rm -f bin/crio-config
|
|
rm -rf vendor/pkg
|
|
|
|
oe_runmake binaries
|
|
fi
|
|
}
|
|
|
|
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 ${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
|
|
|
|
if [ "${CRIO_BUILD_CROSS}" = "1" ]; then
|
|
install ${S}/src/import/bin/conmon ${D}/${localbindir}/crio
|
|
install ${S}/src/import/bin/pause ${D}/${localbindir}/crio
|
|
fi
|
|
|
|
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/
|
|
}
|
|
|
|
FILES_${PN}-config = "${sysconfdir}/crio/config/*"
|
|
FILES_${PN} += "${systemd_unitdir}/system/*"
|
|
FILES_${PN} += "/usr/local/bin/*"
|
|
|
|
INSANE_SKIP_${PN} += "ldflags already-stripped"
|
|
|
|
deltask compile_ptest_base
|
|
|