From 3f240ab73506e39218eb0963f1d0e8bf2d5a109a4cf59e72fddbf9acbc1fb1b7 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Mon, 1 Feb 2021 01:07:51 +0000 Subject: [PATCH] Accepting request 868230 from home:cyphar:docker - Install the containerd-shim* binaries and stop creating docker-containerd-shim because that isn't used by Docker anymore. OBS-URL: https://build.opensuse.org/request/show/868230 OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/containerd?expand=0&rev=110 --- containerd.changes | 2 ++ containerd.spec | 39 ++++++++++++++++++++++----------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/containerd.changes b/containerd.changes index 3459931..ad05fda 100644 --- a/containerd.changes +++ b/containerd.changes @@ -3,6 +3,8 @@ Fri Jan 29 23:24:30 UTC 2021 - Aleksa Sarai - Update to containerd v1.4.3, which is needed for Docker v20.10.2-ce. bsc#1181594 +- Install the containerd-shim* binaries and stop creating + docker-containerd-shim because that isn't used by Docker anymore. ------------------------------------------------------------------- Mon Dec 21 06:53:15 UTC 2020 - Aleksa Sarai diff --git a/containerd.spec b/containerd.spec index 5dce408..c00e32f 100644 --- a/containerd.spec +++ b/containerd.spec @@ -113,6 +113,9 @@ separately from Docker. %patch1 -p1 %build +# NOTE: containerd will switch to go.mod in 1.5.x so this can be removed after +# we update to that version. + # Do not use symlinks. If you want to run the unit tests for this package at # some point during the build and you need to directly use go list directly it # will get confused by symlinks. @@ -123,16 +126,14 @@ rm -rf $PROJECT/* cp -ar * $PROJECT BUILDTAGS="apparmor selinux seccomp" -make -C $PROJECT \ +make -C "$PROJECT"\ BUILDTAGS="$BUILDTAGS" \ VERSION="v%{version}" \ REVISION="%{git_version}" # TODO: Fix man-page generation. #make man -cp $PROJECT/bin/ctr ctr-%{version} -cp $PROJECT/bin/containerd containerd-%{version} -cp $PROJECT/bin/containerd-shim containerd-shim-%{version} +cp -r "$PROJECT/bin" bin %check # We used to run 'go test' here, however we found that this actually didn't @@ -143,15 +144,20 @@ cp $PROJECT/bin/containerd-shim containerd-shim-%{version} %install # Install binaries. -install -D -m755 containerd-%{version} %{buildroot}/%{_sbindir}/%{realname} -install -D -m755 containerd-shim-%{version} %{buildroot}/%{_sbindir}/%{realname}-shim -install -D -m755 ctr-%{version} %{buildroot}/%{_sbindir}/%{realname}-ctr +pushd bin/ +for bin in containerd{,-shim*} +do + install -D -m755 "$bin" "%{buildroot}/%{_sbindir}/$bin" +done +# "ctr" is a bit too generic. +install -D -m755 ctr %{buildroot}/%{_sbindir}/%{realname}-ctr +popd -# Install docker-* symlinks to said binaries, since in order to use the -# upstream setup, Docker needs to spawn containerd and needs to have the -# binaries have specific names. -ln -s %{_sbindir}/%{realname} %{buildroot}/%{_sbindir}/docker-%{realname} -ln -s %{_sbindir}/%{realname}-shim %{buildroot}/%{_sbindir}/docker-%{realname}-shim +# Install docker-containerd symlink so Docker can find the containerd binary. +# FIXME: This is no longer necessary since Docker has adopted the upstream +# binary pathnames, but we need to resolve the docker-runc/runc split +# before we can clean up containerd as well. +ln -s %{_sbindir}/containerd %{buildroot}/%{_sbindir}/docker-containerd # Set up dummy configuration. install -d -m755 %{buildroot}/%{_sysconfdir}/%{realname} @@ -174,16 +180,15 @@ echo "# See containerd-config.toml(5) for documentation." >%{buildroot}/%{_sysco %license LICENSE %dir %{_sysconfdir}/%{realname} %config %{_sysconfdir}/%{realname}/config.toml -%{_sbindir}/%{realname} -%{_sbindir}/docker-%{realname} -%{_sbindir}/%{realname}-shim -%{_sbindir}/docker-%{realname}-shim +%{_sbindir}/containerd +%{_sbindir}/containerd-shim* +%{_sbindir}/docker-containerd # TODO: Fix man page generation. #%{_mandir}/man*/%{realname}* #%exclude %{_mandir}/man1/*ctr.1* %files ctr -%{_sbindir}/%{realname}-ctr +%{_sbindir}/containerd-ctr # TODO: Fix man page generation. #%{_mandir}/man1/*ctr.1*