Up to 0.2.5 and tested

This commit is contained in:
Stas Fomin 2017-09-11 14:29:16 +03:00
parent 355285b03b
commit 9dfb28d5e6

View file

@ -1,31 +1,40 @@
%global dist_version 0.2.1 %global dist_version 0.2.5
%global provider github %global provider github
%global provider_tld com %global provider_tld com
%global project docker
%define project containerd
%global repo containerd %global repo containerd
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
#debuginfo not supported with Go #debuginfo not supported with Go
%global gopath %{_libdir}/golang %global gopath %{_libdir}/golang
%define gosrc %{gopath}/src/pkg/%{import_path} %define gosrc %{gopath}/src/pkg/%{import_path}
%global commit ca47f7e76a93e9b3768ed084d62318e85bd9f4b2 %global commit 2a5e70cbf65457815ee76b7e5dd2a01292d9eca8
%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: %{project}-%{repo} # Need discuss renaming docker-containerd to containerd
# containerd
Name: docker-containerd
Version: %{dist_version} Version: %{dist_version}
Release: 3 Release: 2
Summary: A daemon to control runC Summary: A daemon to control runC
License: ASL 2.0 License: ASL 2.0
Group: System/Kernel and hardware Group: System/Kernel and hardware
URL: http://www.docker.com URL: https://containerd.io/
Source0: https://%{import_path}/archive/v%{dist_version}.tar.gz Source0: https://%{import_path}/archive/v%{dist_version}.tar.gz
#Source0: https://%{import_path}/archive/%{commit}.tar.gzS #Source0: https://%{import_path}/archive/%{commit}.tar.gzS
BuildRequires: gcc BuildRequires: gcc
BuildRequires: glibc-static-devel BuildRequires: glibc-static-devel
BuildRequires: go-md2man
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(devmapper)
BuildRequires: btrfs-devel
# ensure build uses golang 1.4 or above # ensure build uses golang 1.4 or above
BuildRequires: golang >= 1.4 BuildRequires: golang >= 1.4
@ -33,21 +42,37 @@ BuildRequires: golang >= 1.4
Requires: opencontainers-runc Requires: opencontainers-runc
%description %description
containerd is a daemon to control runC, built for performance and density. Containerd is a daemon with an API and a command line client, to manage
containers on one machine.
containerd leverages runC's advanced features such as seccomp and user It uses runC to run containers according to the OCI specification.
namespace support as well as checkpoint and restore for cloning and Containerd has advanced features such as seccomp and user namespace
live migration of containers. support as well as checkpoint and restore for cloning and live migration
of containers.
%prep %prep
#%setup -q -n docker-%{commit} #%setup -q -n docker-%{commit}
%setup -q -n %{repo}-%{dist_version} %setup -q -n %{repo}-%{dist_version}
%apply_patches
%build %build
#export DOCKER_GITCOMMIT="%{shortcommit}" #export DOCKER_GITCOMMIT="%{shortcommit}"
#export DOCKER_GITCOMMIT="%{shortcommit}/%{version}" #export DOCKER_GITCOMMIT="%{shortcommit}/%{version}"
ln -sf $(pwd) vendor/src/%{import_path} mkdir -p vendor/src/github.com/docker/containerd
for i in *; do
[ -d $i ] && ln -s `pwd`/$i vendor/src/github.com/docker/containerd/
done
cat >vendor/src/github.com/docker/containerd/version.go <<'EOF'
package containerd;
const Version = "%{version}";
const GitCommit = "%{commit}";
const VersionMajor = 0;
const VersionMinor = 2;
const VersionPatch = 5;
EOF
export GOPATH=$(pwd)/vendor:%{gopath} export GOPATH=$(pwd)/vendor:%{gopath}
make make
@ -56,6 +81,19 @@ make
# install binary # install binary
install -d %{buildroot}%{_bindir} install -d %{buildroot}%{_bindir}
install -p -m 755 bin/* %{buildroot}%{_bindir} install -p -m 755 bin/* %{buildroot}%{_bindir}
# install systemd/init scripts
install -d %{buildroot}%{_unitdir}
sed -e 's,/usr/local,%{_prefix},g' hack/containerd.service >%{buildroot}%{_unitdir}/containerd.service
find %{buildroot} -name "*~" -exec rm -rf {} \;
install -d %{buildroot}%{_presetdir}
cat > %{buildroot}%{_presetdir}/86-containerd.preset << EOF
enable containerd.service
EOF
# Docker expects stuff to be named its way...
cd %{buildroot}%{_bindir} cd %{buildroot}%{_bindir}
for i in *; do for i in *; do
ln -sf $i docker-$i ln -sf $i docker-$i
@ -64,3 +102,6 @@ done
%files %files
%doc LICENSE.* MAINTAINERS NOTICE README.md %doc LICENSE.* MAINTAINERS NOTICE README.md
%{_bindir}/* %{_bindir}/*
%{_presetdir}/86-containerd.preset
%{_unitdir}/containerd.service