docker-containerd/docker-containerd.spec
2019-12-07 14:25:06 +03:00

86 lines
2.6 KiB
RPMSpec

%bcond_with debug
%if %{with debug}
%global _dwz_low_mem_die_limit 0
%else
%global debug_package %{nil}
%endif
%if ! 0%{?gobuild:1}
%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**};
%endif
%global import_path github.com/containerd/containerd
%define oname containerd
Summary: A daemon to control runC
Name: docker-containerd
Version: 1.3.2
Release: 1
License: ASL 2.0
Group: System/Kernel and hardware
Url: http://www.docker.com
%global commit 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
%global tag v%{version}
Source0: https://github.com/containerd/containerd/archive/%{tag}.tar.gz?/%{oname}-%{version}.tar.gz
Source1: containerd.service
Source2: containerd.toml
BuildRequires: glibc-static-devel
BuildRequires: golang
BuildRequires: btrfs-devel
BuildRequires: pkgconfig(libseccomp)
Requires: opencontainers-runc
%description
Containerd is a daemon with an API and a command line client, to manage
containers on one machine.
It uses runC to run containers according to the OCI specification.
Containerd has advanced features such as seccomp and user namespace
support as well as checkpoint and restore for cloning and live migration
of containers.
%files
%doc *.md LICENSE NOTICE
%{_bindir}/containerd
%{_bindir}/containerd-shim
%{_bindir}/docker-containerd
%{_bindir}/docker-containerd-shim
%{_bindir}/ctr
%{_unitdir}/containerd.service
%dir %{_sysconfdir}/containerd
%config(noreplace) %{_sysconfdir}/containerd/config.toml
#------------------------------------------------------------------
%prep
%setup -qn %{oname}-%{version}
%build
mkdir -p src/%(dirname %{import_path})
ln -s ../../.. src/%{import_path}
export GOPATH=$(pwd):%{_libdir}/golang
export LDFLAGS="-X %{import_path}/version.Package=%{import_path} -X %{import_path}/version.Version=%{tag} -X %{import_path}/version.Revision=%{commit}"
go build -o bin/containerd %{import_path}/cmd/containerd
go build -o bin/containerd-shim %{import_path}/cmd/containerd-shim
go build -o bin/ctr %{import_path}/cmd/ctr
%install
install -D -m 0755 bin/containerd %{buildroot}%{_bindir}/containerd
install -D -m 0755 bin/containerd-shim %{buildroot}%{_bindir}/containerd-shim
install -D -m 0755 bin/ctr %{buildroot}%{_bindir}/ctr
install -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/containerd.service
install -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/containerd/config.toml
ln -s containerd %{buildroot}%{_bindir}/docker-containerd
ln -s containerd-shim %{buildroot}%{_bindir}/docker-containerd-shim
%post
%systemd_post containerd.service
%preun
%systemd_preun containerd.service
%postun
%systemd_postun_with_restart containerd.service