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

Adding the following commits into our containerd build: 3187b6dc8 tests: Adds consumed memory stats test 969ec8949 Specify seccomp target arch for CC c19b7b64d RELEASES.md: recommend alternatives for deprecated features 8a62aa1c3 Deprecate built-in aufs snapshotter 4e7915f80 CI: allow Go 1.13 for Docker/Moby compatibility 8e589e873 Vagrantfile: update to Fedora 34 5847340a7 tests: Refactors container image usage 9f43eade6 Prepare v1.5.0-rc.3 release notes 4c7b960cb prow needs some additional setup for docker buildx 2e4c1d4b7 Use the multi-arch version of the test images 4e00c4b65 integration tests needs lsof 177273680 Add script to build test images 1b5d59dfe Add multi-arch support for test images 78e529727 add integration tests 2b0e6cdd4 Separate jobs for build and test for openlab/arm64 cdd075853 Release artifacts for Linux ARM64 efcb18742 Add unit tests for PID NamespaceMode_TARGET validation b48f27df6 Support PID NamespaceMode_TARGET 909660ea9 process: use the unbuffered channel as the done signal 0f332dadd Update cgroups for regenerated protos 391b123a5 adds quiet option for ref ab1654d0e Fix PushHandler cannot push image that contains duplicated blobs 00f8d32ef add not found debug out for check cmd; update usage 55734b1c5 Prepare 1.5.0-rc.2 release notes 3ef337ae3 Update containerd vendors to tags fbe1e140f Update Go to 1.16.3 c1d1edbad gha: use sudo -E in some places to prevent dropping env-vars 7966a6652 Cleanup code 5d79d3adb go.mod: update kubernetes to v1.20.6 1c03c377e go.mod: github.com/containerd/fifo v1.0.0 12a2a2108 go.mod: github.com/google/uuid v1.2.0 3292ea586 pkg/seccomp: use sync.Once to speed up IsEnabled 00b5c99b1 pkg/seccomp: simplify IsEnabled, update doc 6dd29c25f go.mod: github.com/containerd/aufs 330a2a809 go.mod: github.com/containerd/zfs 34780d67a runtime/shim: check the namespace flag first c3dde8c4b freebsd: add zfs to the default plugins b431fe4fc freebsd: don't run shim delete in deleted dir 1f4192daf freebsd: exclude v1 runtimes cb1580937 metadata: improve deleting a non-empty namespace's error message 5bf84034d Remove junit test result processor b83d04f91 Add variable names to runtime's interface definitions 993b86399 Add shim start opts 8a4cbabc6 Reimport windows layers when comitting snapshots af1e2af72 ci: upload junit formatted test results Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
121 lines
4.6 KiB
BlitzBasic
121 lines
4.6 KiB
BlitzBasic
HOMEPAGE = "https://github.com/docker/containerd"
|
|
SUMMARY = "containerd is a daemon to control runC"
|
|
DESCRIPTION = "containerd is a daemon to control runC, built for performance and density. \
|
|
containerd leverages runC's advanced features such as seccomp and user namespace \
|
|
support as well as checkpoint and restore for cloning and live migration of containers."
|
|
|
|
|
|
SRCREV = "32005190c04eb635cdd0de7c9245dd043168ec9e"
|
|
SRC_URI = "git://github.com/containerd/containerd;branch=master \
|
|
file://0001-build-use-oe-provided-GO-and-flags.patch \
|
|
file://0001-Add-build-option-GODEBUG-1.patch \
|
|
"
|
|
|
|
# Apache-2.0 for containerd
|
|
LICENSE = "Apache-2.0"
|
|
LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=1269f40c0d099c21a871163984590d89"
|
|
|
|
CONTAINERD_VERSION = "v1.5.0-rc"
|
|
|
|
EXTRA_OEMAKE += "GODEBUG=1"
|
|
|
|
PROVIDES += "virtual/containerd"
|
|
RPROVIDES_${PN} = "virtual/containerd"
|
|
|
|
S = "${WORKDIR}/git"
|
|
|
|
PV = "${CONTAINERD_VERSION}+git${SRCPV}"
|
|
|
|
inherit go
|
|
inherit goarch
|
|
|
|
GO_IMPORT = "import"
|
|
|
|
CONTAINERD_PKG="github.com/containerd/containerd"
|
|
|
|
INSANE_SKIP_${PN} += "ldflags"
|
|
|
|
do_configure[noexec] = "1"
|
|
|
|
do_compile() {
|
|
export GOARCH="${TARGET_GOARCH}"
|
|
|
|
# link fixups for compilation
|
|
rm -f ${S}/src/import/vendor/src
|
|
ln -sf ./ ${S}/src/import/vendor/src
|
|
|
|
mkdir -p ${S}/src/import/vendor/src/github.com/containerd/containerd/
|
|
mkdir -p ${S}/src/import/vendor/src/github.com/containerd/containerd/pkg/
|
|
mkdir -p ${S}/src/import/vendor/src/github.com/containerd/containerd/contrib/
|
|
# without this, the stress test parts of the build fail
|
|
cp ${S}/src/import/*.go ${S}/src/import/vendor/src/github.com/containerd/containerd
|
|
|
|
for c in content timeout ttrpcutil oom stdio process errdefs fs images mount snapshots linux api runtimes defaults progress \
|
|
protobuf reference diff platforms runtime remotes version archive dialer gc metadata \
|
|
metrics filters identifiers labels leases plugin server services \
|
|
cmd cio containers namespaces oci events log reaper sys rootfs nvidia seed apparmor seccomp \
|
|
cap cri userns atomic ioutil os registrar seutil runtimeoptions netns; do
|
|
if [ -d ${S}/src/import/${c} ]; then
|
|
ln -sfn ${S}/src/import/${c} ${S}/src/import/vendor/github.com/containerd/containerd/${c}
|
|
fi
|
|
if [ -d ${S}/src/import/pkg/${c} ]; then
|
|
ln -sfn ${S}/src/import/pkg/${c} ${S}/src/import/vendor/github.com/containerd/containerd/pkg/${c}
|
|
fi
|
|
if [ -d ${S}/src/import/contrib/${c} ]; then
|
|
ln -sfn ${S}/src/import/contrib/${c} ${S}/src/import/vendor/github.com/containerd/containerd/contrib/${c}
|
|
fi
|
|
done
|
|
|
|
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}"
|
|
export BUILDTAGS="no_btrfs static_build netgo"
|
|
export CFLAGS="${CFLAGS}"
|
|
export LDFLAGS="${LDFLAGS}"
|
|
export SHIM_CGO_ENABLED="${CGO_ENABLED}"
|
|
export GO111MODULE=off
|
|
|
|
cd ${S}/src/import
|
|
oe_runmake binaries
|
|
}
|
|
|
|
inherit systemd
|
|
SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
|
|
SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','containerd.service','',d)}"
|
|
|
|
do_install() {
|
|
mkdir -p ${D}/${bindir}
|
|
|
|
cp ${S}/src/import/bin/containerd ${D}/${bindir}/containerd
|
|
cp ${S}/src/import/bin/containerd-shim ${D}/${bindir}/containerd-shim
|
|
cp ${S}/src/import/bin/containerd-shim-runc-v1 ${D}/${bindir}/containerd-shim-runc-v1
|
|
cp ${S}/src/import/bin/containerd-shim-runc-v2 ${D}/${bindir}/containerd-shim-runc-v2
|
|
cp ${S}/src/import/bin/ctr ${D}/${bindir}/containerd-ctr
|
|
|
|
ln -sf containerd ${D}/${bindir}/docker-containerd
|
|
ln -sf containerd-shim ${D}/${bindir}/docker-containerd-shim
|
|
ln -sf containerd-ctr ${D}/${bindir}/docker-containerd-ctr
|
|
|
|
ln -sf containerd-ctr ${D}/${bindir}/ctr
|
|
|
|
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
|
|
install -d ${D}${systemd_unitdir}/system
|
|
install -m 644 ${S}/src/import/containerd.service ${D}/${systemd_unitdir}/system
|
|
# adjust from /usr/local/bin to /usr/bin/
|
|
sed -e "s:/usr/local/bin/containerd:${bindir}/containerd:g" -i ${D}/${systemd_unitdir}/system/containerd.service
|
|
fi
|
|
}
|
|
|
|
FILES_${PN} += "${systemd_system_unitdir}/*"
|
|
|
|
INSANE_SKIP_${PN} += "ldflags already-stripped"
|
|
|
|
COMPATIBLE_HOST = "^(?!(qemu)?mips).*"
|
|
|
|
RDEPENDS_${BPN} += " virtual/runc"
|