1 %define docker_path /src/github.com/docker
2 %define runc_path /src/github.com/opencontainers
3 %define container_path /src/github.com/containerd
4 %define go_version 1.8.3
5 %define orig_version %{version}-ce
10 Summary: The open-source application container engine
15 Source0: %{name}.tar.gz
16 Source1: %{name}.manifest
17 Source11: go1.8.3.linux-amd64.tar.gz
18 Source12: go1.8.3.linux-armv7.tar.gz
19 Source13: docker-ce.tar.bz2
20 Source14: containerd.tar.bz2
21 Source15: runc.tar.bz2
24 Requires(post): /sbin/ldconfig
25 Requires(postun): /sbin/ldconfig
29 Docker is an open source project to build, ship and run any application as a
30 lightweight container.
32 Docker containers are both hardware-agnostic and platform-agnostic. This means
33 they can run anywhere, from your laptop to the largest EC2 compute instance and
34 everything in between - and they don't require you to use a particular
35 language, framework or packaging system. That makes them great building blocks
36 for deploying and scaling web apps, databases, and backend services without
37 depending on a particular stack or provider.
47 rm -f %{_builddir}/%{name}-%{version}/go%{go_version}.linux-armv7.tar.gz
52 rm -f %{_builddir}/%{name}-%{version}/go%{go_version}.linux-amd64.tar.gz
54 chmod g-w %_sourcedir/*
55 cp %{SOURCE1} ./%{name}.manifest
69 ## set docker build folder
70 mkdir -p .%docker_path/
71 mkdir -p .%docker_path/engine
72 mkdir -p .%docker_path/cli
73 mkdir -p .%container_path/containerd
75 mkdir -p .%runc_path/runc
77 cd ext/docker-ce/components/engine
78 mv `ls . | grep -v packaging | grep -v src` ../../../..%docker_path/engine
80 mv `ls . | grep -v packaging | grep -v src` ../../../..%docker_path/cli
81 cd ../../../containerd/
82 mv `ls . | grep -v packaging | grep -v src` ../..%container_path/containerd
84 mv `ls . | grep -v packaging | grep -v src` ../..%runc_path/runc
89 cd .%docker_path/engine
90 export GOROOT=%{_builddir}/%{name}-%{version}/go
91 export PATH=$PATH:%{_builddir}/%{name}-%{version}/go/bin
92 export GOPATH=%{_builddir}/%{name}-%{version}
93 export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdriver_devicemapper'
98 AUTO_GOPATH=1 ./hack/make.sh dynbinary
104 export BUILDTAGS=no_btrfs
105 echo 'containerd build'
106 cd ../../containerd/containerd
110 cd ../../opencontainers/runc
111 make all BUILDTAGS=""
116 install -d $RPM_BUILD_ROOT/%{_bindir}
117 install -p -m 755 .%docker_path/cli/build/docker-linux-arm $RPM_BUILD_ROOT/%{_bindir}/docker
118 install -p -m 755 .%docker_path/engine/bundles/%{orig_version}/dynbinary-daemon/dockerd-%{orig_version} $RPM_BUILD_ROOT/%{_bindir}/dockerd
119 install -p -m 755 .%runc_path/runc/runc $RPM_BUILD_ROOT/%{_bindir}/docker-runc
120 install -p -m 755 .%container_path/containerd/bin/containerd $RPM_BUILD_ROOT/%{_bindir}/docker-containerd
121 install -p -m 755 .%container_path/containerd/bin/containerd-shim $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-shim
122 install -p -m 755 .%container_path/containerd/bin/ctr $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-ctr
125 %manifest %{name}.manifest
126 %defattr(-,root,root,-)
129 /%{_bindir}/docker-containerd
130 /%{_bindir}/docker-containerd-shim
131 /%{_bindir}/docker-containerd-ctr
132 /%{_bindir}/docker-runc
133 %license .%docker_path/engine/LICENSE