## START: Set by rpmautospec ## (rpmautospec version 0.3.0) %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Generated by go2rpm # arm support not fully implemented: not implemented %ifnarch %{arm} %bcond_without check %endif %bcond_with bootstrap # https://github.com/containerd/containerd %global goipath github.com/containerd/containerd Version: 1.6.15 %gometa %global goname containerd %global godevelname containerd-devel %global common_description %{expand: Containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability. It is available as a daemon for Linux and Windows, which can manage the complete container lifecycle of its host system: image transfer and storage, container execution and supervision, low-level storage and network attachments, etc.} %global golicenses LICENSE NOTICE %global godocs docs ROADMAP.md SCOPE.md code-of-conduct.md\\\ BUILDING.md README.md RELEASES.md Name: %{goname} Release: %autorelease Summary: Open and reliable container runtime License: Apache-2.0 URL: %{gourl} Source0: %{gosource} Source2: containerd.toml # Carve out code requiring github.com/Microsoft/hcsshim Patch0: 0001-Revert-commit-for-Windows-metrics.patch Patch1: 0002-Remove-windows-only-dep.patch # Backport for github.com/containerd/typeurl update Patch2: 0001-Use-typeurl.Any-instead-of-github.com-gogo-protobuf-.patch # To use with latest go-runc Patch3: 0001-Add-reaper-StartLocked.patch BuildRequires: btrfs-progs-devel BuildRequires: go-md2man BuildRequires: systemd-rpm-macros %if %{without bootstrap} BuildRequires: golang(github.com/containerd/aufs/plugin) %endif BuildRequires: golang(github.com/containerd/btrfs) BuildRequires: golang(github.com/containerd/cgroups) BuildRequires: golang(github.com/containerd/cgroups/stats/v1) BuildRequires: golang(github.com/containerd/cgroups/v2) BuildRequires: golang(github.com/containerd/cgroups/v2/stats) BuildRequires: golang(github.com/containerd/console) BuildRequires: golang(github.com/containerd/continuity) BuildRequires: golang(github.com/containerd/continuity/fs) BuildRequires: golang(github.com/containerd/continuity/fs/fstest) BuildRequires: golang(github.com/containerd/continuity/sysx) BuildRequires: golang(github.com/containerd/fifo) BuildRequires: golang(github.com/containerd/go-cni) BuildRequires: golang(github.com/containerd/go-runc) BuildRequires: golang(github.com/containerd/imgcrypt) BuildRequires: golang(github.com/containerd/imgcrypt/images/encryption) BuildRequires: golang(github.com/containerd/nri) BuildRequires: golang(github.com/containerd/nri/types/v1) BuildRequires: golang(github.com/containerd/ttrpc) BuildRequires: golang(github.com/containerd/ttrpc/plugin) BuildRequires: golang(github.com/containerd/typeurl) %if %{without bootstrap} BuildRequires: golang(github.com/containerd/zfs/plugin) %endif BuildRequires: golang(github.com/containernetworking/plugins/pkg/ns) BuildRequires: golang(github.com/coreos/go-systemd/v22/daemon) BuildRequires: golang(github.com/davecgh/go-spew/spew) BuildRequires: golang(github.com/docker/go-events) BuildRequires: golang(github.com/docker/go-metrics) BuildRequires: golang(github.com/docker/go-units) BuildRequires: golang(github.com/emicklei/go-restful) BuildRequires: golang(github.com/fsnotify/fsnotify) BuildRequires: golang(github.com/gogo/googleapis/google/rpc) BuildRequires: golang(github.com/gogo/protobuf/gogoproto) BuildRequires: golang(github.com/gogo/protobuf/proto) BuildRequires: golang(github.com/gogo/protobuf/protoc-gen-gogo/descriptor) BuildRequires: golang(github.com/gogo/protobuf/protoc-gen-gogo/generator) BuildRequires: golang(github.com/gogo/protobuf/sortkeys) BuildRequires: golang(github.com/gogo/protobuf/types) BuildRequires: golang(github.com/gogo/protobuf/vanity) BuildRequires: golang(github.com/gogo/protobuf/vanity/command) BuildRequires: golang(github.com/google/uuid) BuildRequires: golang(github.com/grpc-ecosystem/go-grpc-middleware) BuildRequires: golang(github.com/grpc-ecosystem/go-grpc-prometheus) BuildRequires: golang(github.com/hashicorp/go-multierror) BuildRequires: golang(github.com/imdario/mergo) BuildRequires: golang(github.com/intel/goresctrl/pkg/rdt) BuildRequires: golang(github.com/klauspost/compress/zstd) # BuildRequires: golang(github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options) # BuildRequires: golang(github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats) BuildRequires: golang(github.com/moby/locker) BuildRequires: golang(github.com/moby/sys/mountinfo) BuildRequires: golang(github.com/moby/sys/signal) BuildRequires: golang(github.com/moby/sys/symlink) BuildRequires: golang(github.com/opencontainers/go-digest) BuildRequires: golang(github.com/opencontainers/go-digest/digestset) BuildRequires: golang(github.com/opencontainers/image-spec/identity) BuildRequires: golang(github.com/opencontainers/image-spec/specs-go) BuildRequires: golang(github.com/opencontainers/image-spec/specs-go/v1) BuildRequires: golang(github.com/opencontainers/runc/libcontainer/user) BuildRequires: golang(github.com/opencontainers/runtime-spec/specs-go) BuildRequires: golang(github.com/opencontainers/selinux/go-selinux) BuildRequires: golang(github.com/opencontainers/selinux/go-selinux/label) BuildRequires: golang(github.com/pelletier/go-toml) BuildRequires: golang(github.com/prometheus/client_golang/prometheus) BuildRequires: golang(github.com/sirupsen/logrus) BuildRequires: golang(github.com/stretchr/testify/require) BuildRequires: golang(github.com/tchap/go-patricia/patricia) BuildRequires: golang(github.com/urfave/cli) BuildRequires: golang(github.com/vishvananda/netlink) BuildRequires: golang(go.etcd.io/bbolt) BuildRequires: golang(go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc) BuildRequires: golang(go.opentelemetry.io/otel) BuildRequires: golang(go.opentelemetry.io/otel/attribute) BuildRequires: golang(go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) BuildRequires: golang(go.opentelemetry.io/otel/propagation) BuildRequires: golang(go.opentelemetry.io/otel/sdk/resource) BuildRequires: golang(go.opentelemetry.io/otel/sdk/trace) BuildRequires: golang(go.opentelemetry.io/otel/semconv/v1.4.0) BuildRequires: golang(go.opentelemetry.io/otel/trace) BuildRequires: golang(golang.org/x/net/context) BuildRequires: golang(golang.org/x/net/context/ctxhttp) BuildRequires: golang(golang.org/x/sync/errgroup) BuildRequires: golang(golang.org/x/sync/semaphore) BuildRequires: golang(golang.org/x/sys/execabs) BuildRequires: golang(golang.org/x/sys/unix) BuildRequires: golang(google.golang.org/grpc) BuildRequires: golang(google.golang.org/grpc/backoff) BuildRequires: golang(google.golang.org/grpc/codes) BuildRequires: golang(google.golang.org/grpc/credentials) BuildRequires: golang(google.golang.org/grpc/credentials/insecure) BuildRequires: golang(google.golang.org/grpc/grpclog) BuildRequires: golang(google.golang.org/grpc/health) BuildRequires: golang(google.golang.org/grpc/health/grpc_health_v1) BuildRequires: golang(google.golang.org/grpc/metadata) BuildRequires: golang(google.golang.org/grpc/status) BuildRequires: golang(gotest.tools/v3/assert) BuildRequires: golang(gotest.tools/v3/assert/cmp) BuildRequires: golang(k8s.io/api/core/v1) BuildRequires: golang(k8s.io/apimachinery/pkg/api/errors) BuildRequires: golang(k8s.io/apimachinery/pkg/api/resource) BuildRequires: golang(k8s.io/apimachinery/pkg/apis/meta/v1) BuildRequires: golang(k8s.io/apimachinery/pkg/types) BuildRequires: golang(k8s.io/apimachinery/pkg/util/httpstream) BuildRequires: golang(k8s.io/apimachinery/pkg/util/httpstream/spdy) BuildRequires: golang(k8s.io/apimachinery/pkg/util/net) BuildRequires: golang(k8s.io/apimachinery/pkg/util/remotecommand) BuildRequires: golang(k8s.io/apimachinery/pkg/util/runtime) BuildRequires: golang(k8s.io/apimachinery/pkg/util/sets) BuildRequires: golang(k8s.io/apiserver/pkg/server/httplog) BuildRequires: golang(k8s.io/apiserver/pkg/util/wsstream) BuildRequires: golang(k8s.io/client-go/tools/remotecommand) BuildRequires: golang(k8s.io/client-go/util/cert) BuildRequires: golang(k8s.io/component-base/logs/logreduction) BuildRequires: golang(k8s.io/cri-api/pkg/apis/runtime/v1) BuildRequires: golang(k8s.io/cri-api/pkg/apis/runtime/v1alpha2) BuildRequires: golang(k8s.io/klog/v2) BuildRequires: golang(k8s.io/utils/clock) BuildRequires: golang(k8s.io/utils/exec) %if %{with check} # Tests BuildRequires: golang(github.com/containerd/continuity/testutil) BuildRequires: golang(github.com/containerd/continuity/testutil/loopback) BuildRequires: golang(github.com/google/go-cmp/cmp) BuildRequires: golang(github.com/google/go-cmp/cmp/cmpopts) BuildRequires: golang(github.com/stretchr/testify/assert) BuildRequires: golang(google.golang.org/protobuf/proto) BuildRequires: golang(k8s.io/utils/clock/testing) %endif Requires: runc %description %{common_description} %gopkg %prep %goprep %autopatch -p1 # Used only for generation: rm -rf cmd/protoc-gen-gogoctrd # Replace default bin directory sed -i "s|/usr/local/bin/containerd|/usr/bin/containerd|" containerd.service %if %{without bootstrap} %build export LDFLAGS="-X %{goipath}/version.Version=%{version} " for cmd in cmd/* ; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done mkdir _man go-md2man -in docs/man/containerd-config.8.md -out _man/containerd-config.8 go-md2man -in docs/man/containerd-config.toml.5.md -out _man/containerd-config.toml.5 %{gobuilddir}/bin/gen-manpages containerd.8 _man %{gobuilddir}/bin/gen-manpages ctr.8 _man rm %{gobuilddir}/bin/gen-manpages %else rm -rf cmd %endif %install %gopkginstall %if %{without bootstrap} install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ install -D -p -m 0644 _man/containerd.8 %{buildroot}%{_mandir}/man8/containerd.8 install -D -p -m 0644 _man/containerd-config.8 %{buildroot}%{_mandir}/man8/containerd-config.8 install -D -p -m 0644 _man/ctr.8 %{buildroot}%{_mandir}/man8/ctr.8 install -D -p -m 0644 _man/containerd-config.toml.5 %{buildroot}%{_mandir}/man5/containerd-config.toml.5 install -D -p -m 0644 containerd.service %{buildroot}%{_unitdir}/containerd.service install -D -p -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/containerd/config.toml mkdir -p %{buildroot}%{_sharedstatedir}/containerd/opt %endif %post %systemd_post containerd.service %preun %systemd_preun containerd.service %postun %systemd_postun_with_restart containerd.service %if %{with check} %check %gocheck -d pkg/cri/server -t integration -d platforms %endif %if %{without bootstrap} %files %license LICENSE NOTICE %doc docs ROADMAP.md SCOPE.md code-of-conduct.md BUILDING.md %doc README.md RELEASES.md %{_bindir}/* %{_mandir}/man8/containerd.8* %{_mandir}/man8/containerd-config.8* %{_mandir}/man8/ctr.8* %{_mandir}/man5/containerd-config.toml.5* %{_unitdir}/containerd.service %dir %{_sysconfdir}/containerd %config(noreplace) %{_sysconfdir}/containerd/config.toml %dir %{_sharedstatedir}/containerd %dir %{_sharedstatedir}/containerd/opt %endif %gopkgfiles %changelog * Thu Jan 12 2023 Dalton Hubble 1.6.15-1 - Update to 1.6.15 * Tue Dec 20 2022 Maxwell G 1.6.14-2 - Fixes: rhbz##2154183 * Mon Dec 19 2022 Dalton Hubble 1.6.14-1 - Update to 1.6.14 * Fri Dec 09 2022 Maxwell G 1.6.12-1 - Update to 1.6.12. Fixes rhbz#2151471. * Wed Dec 07 2022 Dalton Hubble 1.6.11-1 - Update to v1.6.11 * Thu Nov 17 2022 Dalton Hubble 1.6.10-1 - Update to 1.6.10 (rhbz#2143464). * Fri Nov 04 2022 Dalton Hubble 1.6.9-3 - Extend the Use-typeurl.Any patch to metrics_test.go * Fri Nov 04 2022 Dalton Hubble 1.6.9-2 - Restore patch header and remove diff to vendor files * Fri Nov 04 2022 Dalton Hubble 1.6.9-1 - Update containerd to v1.6.9 (rhbz#2137464). * Tue Nov 01 2022 Robert-André Mauchin 1.6.8-5 - Add compatibility patch for latest runc * Sun Sep 11 2022 Robert-André Mauchin 1.6.8-4 - Fix FTBFS * Wed Aug 10 2022 Maxwell G 1.6.8-3 - Rebuild to fix FTBFS * Tue Aug 09 2022 Maxwell G 1.6.8-2 - Switch to SPDX identifiers * Mon Aug 08 2022 Maxwell G 1.6.8-1 - Update to 1.6.8. Fixes rhbz#2094144. * Wed Jul 20 2022 Fedora Release Engineering 1.6.6-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jul 19 2022 Maxwell G 1.6.6-5 - Rebuild for CVE-2022-{1705,32148,30631,30633,28131,30635,30632,30630,1962} in golang * Thu Jun 23 2022 Maxwell G 1.6.6-4 - Rebuild to mitigate CVE-2022-21698 (rhbz#2067400). * Sun Jun 19 2022 Robert-André Mauchin 1.6.6-3 - Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 * Sat Jun 11 2022 Maxwell G 1.6.6-2 - Rebuild for new golang-github-docker-libnetwork * Mon Jun 06 2022 Maxwell G 1.6.6-1 - Update to 1.6.6. - Mitigates GHSA-5ffw-gxpp-mxpf / CVE-2022-31030. * Sun Jun 05 2022 Maxwell G 1.6.5-2 - Bump release * Sat Jun 04 2022 Maxwell G 1.6.5-1 - Update to 1.6.5. Fixes rhbz#2093608. * Wed May 11 2022 Maxwell G 1.6.4-1 - Update to 1.6.4. Fixes rhbz#079050 and rhbz#2079779. * Sat Apr 16 2022 Fabio Alessandro Locati 1.6.2-2 - Rebuilt for CVE-2022-27191 * Sun Apr 03 2022 Maxwell G 1.6.2-1 - Update to 1.6.2 (rhbz#2068277). Mitigates CVE-2022-24769 / GHSA-c9cp-9c75-9v8c. * Sat Mar 12 2022 Maxwell G 1.6.1-1 - Update to 1.6.1 (rhbz#2060228). Mitigates CVE-2022-23648. * Thu Feb 17 2022 Maxwell G 1.6.0-1 - Update to 1.6.0 (rhbz#2054935). Use unbundled deps. * Sun Feb 06 2022 Robert-André Mauchin 1.6.0~rc.2-2 - Disable platform tests * Sat Feb 05 2022 Robert-André Mauchin 1.6.0~rc.2-1 - Update to 1.6.0~rc.2 Close: rhbz#1731597 Close: rhbz#1798419 * Mon Jan 31 2022 Maxwell G - 1.5.9-1 - Update to 1.5.9. Fixes FTBFS. Closes rhbz#2045277. - Mitigates CVE-2021-43816. Closes rhbz#2044434. Closes rhbz#2044436. - Temporarily build using vendored dependencies. * Wed Jan 19 2022 Fedora Release Engineering - 1.5.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Mon Nov 22 2021 Olivier Lemasle - 1.5.8-1 - Update to upstream 1.5.8 (fixes rhbz#2013807) - Mitigate CVE-2021-41190 (fixes GHSA-5j5w-g665-5m35, fixes rhbz#2024941) * Sun Oct 10 2021 Olivier Lemasle - 1.5.7-1 - Update to upstream 1.5.7 (fixes rhbz#2009149) - Fixes CVE-2021-41103 (fixes rhbz#2011014, rhbz#2011007) * Sun Aug 15 2021 Olivier Lemasle - 1.5.5-1 - Update to upstream 1.5.5 (fixes rhbz#1983820) - Fixes CVE-2021-32760 (rhbz#1983932) * Wed Jul 21 2021 Fedora Release Engineering - 1.5.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jul 14 11:28:54 CEST 2021 Olivier Lemasle - 1.5.3-1 - Update to upstream 1.5.3 (fixes rhbz#1956638) * Tue May 04 2021 Olivier Lemasle - 1.5.0-1 - Update to upstream 1.5.0 (#1956638) * Mon Apr 19 2021 Olivier Lemasle - 1.5.0~rc.1-1 - Update to 1.5.0~rc.1 (#1948041) * Wed Mar 17 2021 Olivier Lemasle - 1.5.0~beta.4-1 - Update to upstream 1.5.0-beta.4 * Sat Mar 06 2021 Olivier Lemasle - 1.5.0~beta.3-1 - Update to upstream 1.5.0-beta.3 * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.5.0~beta.0-2 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. * Thu Jan 28 2021 Olivier Lemasle 1.5.0~beta.0-1 - Update to 1.5.0~beta.0 (#1918993) * Tue Jan 26 2021 Fedora Release Engineering - 1.4.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Dec 01 2020 Olivier Lemasle - 1.4.3-1 - Fix CVE-2020-15257 (#1903050) - Update to latest upstream - 1.4.3 (#1901908) * Mon Nov 2 23:23:57 CET 2020 Olivier Lemasle - 1.4.1-2 - Fix man pages * Wed Sep 30 2020 Robert-André Mauchin - 1.4.1-1 - Update to 1.4.1 * Sat Aug 01 2020 Fedora Release Engineering - 1.3.3-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 1.3.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Apr 01 2020 Olivier Lemasle - 1.3.3-1 - Update to 1.3.3 * Sun Mar 22 2020 Olivier Lemasle - 1.2.13-2 - Remove version requirement on golang-github-containerd-cri * Sun Mar 22 2020 Olivier Lemasle - 1.2.13-1 - Exclude failing integration tests - Update to containerd 1.2.13 * Tue Jan 28 2020 Fedora Release Engineering - 1.2.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Wed Jul 24 2019 Fedora Release Engineering - 1.2.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Wed May 01 15:33:19 CEST 2019 Robert-André Mauchin - 1.2.6-1.20190501gitd68b593 - Release 1.2.6, commit d68b593de4ab10bb8b4fd64560e10d43c7156db2 * Tue Feb 26 2019 Carl George - 1.2.4-1 - Latest upstream * Thu Jan 31 2019 Fedora Release Engineering - 1.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Jan 03 2019 Carl George - 1.2.1-1 - Latest upstream - Run test suite (except on el7 or %%arm) * Thu Oct 25 2018 Carl George - 1.2.0-1 - Latest upstream * Mon Aug 13 2018 Carl George - 1.1.2-1 - Latest upstream * Thu Jul 12 2018 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Apr 26 2018 Carl George - 1.1.0-1 - Latest upstream - Build and include man pages * Wed Apr 04 2018 Carl George - 1.0.3-1 - Latest upstream * Wed Feb 07 2018 Fedora Release Engineering - 1.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Mon Jan 22 2018 Carl George - 1.0.1-1 - Latest upstream * Wed Dec 06 2017 Carl George - 1.0.0-1 - Latest upstream * Fri Nov 10 2017 Carl George - 1.0.0-0.5.beta.3 - Latest upstream * Thu Oct 19 2017 Carl George - 1.0.0-0.4.beta.2 - Own /etc/containerd * Thu Oct 12 2017 Carl George - 1.0.0-0.3.beta.2 - Latest upstream - Require runc 1.0.0 https://github.com/containerd/containerd/issues/1508#issuecomment-335566293 * Mon Oct 09 2017 Carl George - 1.0.0-0.2.beta.1 - Add provides for vendored dependencies - Add ctr command * Wed Oct 04 2017 Carl George - 1.0.0-0.1.beta.1 - Initial package