%global goipath github.com/k3s-io/containerd
%global debug_package %{nil}
%global version_suffix k3s1
Version:        1.6.6
Name:           k3s-containerd
Release:        3
Summary:        An industry-standard container runtime
License:        Apache-2.0
URL:            https://github.com/k3s-io/containerd
Source0:        https://github.com/k3s-io/containerd/archive/refs/tags/v%{version}-%{version_suffix}.tar.gz

BuildRequires:  golang glibc-static make btrfs-progs-devel

%description
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.

%prep
%autosetup -n containerd-%{version}-%{version_suffix} 

%build
mkdir -p k3s-containerd/bin

PKG="github.com/k3s-io/k3s"
PKG_CONTAINERD="github.com/containerd/containerd"
PKG_K3S_CONTAINERD="github.com/k3s-io/containerd"
PKG_CRICTL="github.com/kubernetes-sigs/cri-tools/pkg"
PKG_K8S_BASE="k8s.io/component-base"
PKG_K8S_CLIENT="k8s.io/client-go/pkg"
PKG_CNI_PLUGINS="github.com/containernetworking/plugins"

buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ')

VERSIONFLAGS="
    -X ${PKG}/pkg/version.Version=v1.24.2+k3s-
    -X ${PKG}/pkg/version.GitCommit=
    -X ${PKG_K8S_CLIENT}/version.gitVersion=v1.24.2+k3s-
    -X ${PKG_K8S_CLIENT}/version.gitCommit=
    -X ${PKG_K8S_CLIENT}/version.gitTreeState=clean
    -X ${PKG_K8S_CLIENT}/version.buildDate=${buildDate}
    -X ${PKG_K8S_BASE}/version.gitVersion=v1.24.2+k3s-
    -X ${PKG_K8S_BASE}/version.gitCommit=
    -X ${PKG_K8S_BASE}/version.gitTreeState=clean
    -X ${PKG_K8S_BASE}/version.buildDate=${buildDate}
    -X ${PKG_CRICTL}/version.Version=v1.24.0-k3s1
    -X ${PKG_CONTAINERD}/version.Version=v1.6.6-k3s1
    -X ${PKG_CONTAINERD}/version.Package=${PKG_K3S_CONTAINERD}
    -X ${PKG_CNI_PLUGINS}/pkg/buildversion.BuildVersion=v1.1.1-k3s1
"
TAGS="apparmor seccomp netgo osusergo providerless urfave_cli_no_docs"
LDFLAGS=" -w -s"
CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS" -o k3s-containerd/bin ./cmd/containerd
CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS" -o k3s-containerd/bin ./cmd/containerd-shim-runc-v2

%install
install -d -p %{buildroot}%{_libexecdir}/containerd/
cp k3s-containerd/bin/* %{buildroot}%{_libexecdir}/containerd/
mkdir -p %{buildroot}%{_libexecdir}/containerd/containerd-%{version}
cp -rf %{_builddir}/containerd-%{version}-%{version_suffix}/. %{buildroot}%{_libexecdir}/containerd/containerd-%{version} 

%files
%{_libexecdir}/containerd/containerd
%{_libexecdir}/containerd/containerd-shim-runc-v2
%{_libexecdir}/containerd/containerd-%{version}/.


%changelog
* Wed Aug 03 2022 liukuo <liukuo@kylinos.cn> - 1.6.6-k3s1-3
- License compliance rectification

* Tue Aug 02 2022 Ge Wang <wangge20@h-partners.com> - 1.6.6-k3s1-2
- Add src code to package, which is dependended by k3s

* Fri Jul 22 2022 Ge Wang <wangge20@h-partners.com> - 1.6.6-k3s1-1
- Init package
