From 65913a94f6ee8cf11e702c0a355b31c8a19fd6dd Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Mon, 28 Jul 2025 14:39:02 +0100 Subject: [PATCH] app-containers/accelerated-container-image: Add package to use overlaybd * A custom CTR for pulling accelerated container images * An image converter * A snapshotter Signed-off-by: James Le Cuirot --- .../accelerated-container-image-1.3.0.ebuild | 1 + .../accelerated-container-image-9999.ebuild | 50 +++++++++++++++++++ .../files/10-overlaybd-snapshotter.conf | 2 + .../accelerated-container-image/metadata.xml | 11 ++++ 4 files changed, 64 insertions(+) create mode 120000 sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-1.3.0.ebuild create mode 100644 sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-9999.ebuild create mode 100644 sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/files/10-overlaybd-snapshotter.conf create mode 100644 sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/metadata.xml diff --git a/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-1.3.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-1.3.0.ebuild new file mode 120000 index 0000000000..42c3dd5fcc --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-1.3.0.ebuild @@ -0,0 +1 @@ +accelerated-container-image-9999.ebuild \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-9999.ebuild new file mode 100644 index 0000000000..ad12a62f36 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/accelerated-container-image-9999.ebuild @@ -0,0 +1,50 @@ +# Copyright 2025 The Flatcar Container Linux Maintainers +# Distributed under the terms of the Apache License 2.0 + +EAPI=8 + +inherit git-r3 go-module systemd tmpfiles + +DESCRIPTION="Remote container image format (overlaybd) and snapshotter based on block-device" +HOMEPAGE="https://github.com/containerd/accelerated-container-image" +EGIT_REPO_URI="https://github.com/containerd/accelerated-container-image.git" + +if [[ ${PV} == 9999* ]]; then + KEYWORDS="~amd64 ~arm64" +else + EGIT_COMMIT="v${PV}" + KEYWORDS="amd64 arm64" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +# FIXME HACK ALERT: the build pulls go modules during src_compile. +# This fails if network sandbox is enabled. +RESTRICT="${RESTRICT} network-sandbox" + + +RDEPEND="sys-fs/overlaybd" + +src_unpack() { + git-r3_src_unpack + go-module_src_unpack +} + +src_install() { + emake install \ + DESTDIR="${ED}" \ + SN_DESTDIR="${ED}/usr/local/overlaybd/snapshotter" \ + SN_CFGDIR="${ED}/usr/local/overlaybd/snapshotter/etc" + + sed -i 's,/opt/overlaybd,/usr/local/overlaybd,' \ + "${ED}/usr/local/overlaybd/snapshotter/overlaybd-snapshotter.service" || die + + # tmpfiles will take care of symlinking /usr/local/overlaybd/snapshotter + # to /opt/overlaybd/snapshotter, where upstream expects the binaries. + # (we need them in /usr to be used in a sysext) + dotmpfiles "${FILESDIR}/10-overlaybd-snapshotter.conf" + + systemd_dounit "${ED}/usr/local/overlaybd/snapshotter/overlaybd-snapshotter.service" + systemd_enable_service "multi-user.target" "overlaybd-snapshotter.service" +} diff --git a/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/files/10-overlaybd-snapshotter.conf b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/files/10-overlaybd-snapshotter.conf new file mode 100644 index 0000000000..fbb64fd7ad --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/files/10-overlaybd-snapshotter.conf @@ -0,0 +1,2 @@ +C /etc/overlaybd-snapshotter/config.json - - - - /usr/local/overlaybd/snapshotter/etc/config.json +L /opt/overlaybd/snapshotter - - - - /usr/local/overlaybd/snapshotter diff --git a/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/metadata.xml new file mode 100644 index 0000000000..11245f3def --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-containers/accelerated-container-image/metadata.xml @@ -0,0 +1,11 @@ + + + + + maintainers@flatcar-linux.org + The Flatcar Container Linux Maintainers + + + containerd/accelerated-container-image + +