]> git.pld-linux.org Git - packages/docker.git/blame - docker.spec
use dockerd instead docker daemon to start daemon
[packages/docker.git] / docker.spec
CommitLineData
a73bca1d
ER
1#
2# Conditional build:
3%bcond_with tests # build without tests
de893b83 4%bcond_with vim # build vim syntax package (bundled in vim 7.4.979-2)
b317146a 5%bcond_with doc # build manual pages
b2c07037 6
be6486fd
ER
7# NOTES
8# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
9
e48ba17c
ER
10# v1.0.0-rc2-6-g02f8fa7
11%define runc_commit 02f8fa7
12# v0.2.4-6-g0366d7e
13%define containerd_commit 0366d7e
9679f714 14#define subver -rc2
f4565fa4 15Summary: Docker: the open-source application container engine
47009a45 16Name: docker
e48ba17c 17Version: 1.12.2
b6f967da 18Release: 1
b877f7b7
ER
19License: Apache v2.0
20Group: Applications/System
2e523ef0 21# https://github.com/docker/docker/releases
9679f714 22Source0: https://github.com/docker/docker/archive/v%{version}/%{name}-%{version}.tar.gz
e48ba17c 23# Source0-md5: 019efbcb88c9f76790ca28d990179f6a
36f21c65 24Source1: https://github.com/opencontainers/runc/archive/%{runc_commit}/runc-%{runc_commit}.tar.gz
e48ba17c 25# Source1-md5: f8ab0976c658243c61d7636ebbe4087c
36f21c65 26Source2: https://github.com/docker/containerd/archive/%{containerd_commit}/containerd-%{containerd_commit}.tar.gz
e48ba17c 27# Source2-md5: 9e7690cc09625bdb34f7a9fedff270eb
29baba5b 28Source4: %{name}d.sh
5fcaa458
JK
29Source7: %{name}.init
30Source8: %{name}.sysconfig
b6f967da 31Patch0: systemd.patch
35e5a999 32URL: http://www.docker.com/
be6486fd
ER
33BuildRequires: btrfs-progs-devel >= 3.16.1
34BuildRequires: device-mapper-devel >= 2.02.89
d9a3d699 35BuildRequires: golang >= 1.6
be6486fd 36BuildRequires: libseccomp-devel >= 2.2.1
0be68701 37BuildRequires: rpmbuild(macros) >= 1.644
678a84bd 38BuildRequires: sqlite3-devel >= 3.7.9
d88043a2
ER
39Requires(post,preun): /sbin/chkconfig
40Requires(postun): /usr/sbin/groupdel
41Requires(pre): /usr/bin/getgid
42Requires(pre): /usr/sbin/groupadd
2e42e913 43Requires: iproute2 >= 3.5
b5920dfc 44Requires: iptables
345101bd 45Requires: rc-scripts >= 0.4.0.10
0be68701 46Requires: systemd-units >= 38
2e42e913 47Requires: tar >= 1:1.26
2015cb19 48Requires: uname(release) >= 3.8
db150373 49Requires: xz
65777843 50Suggests: docker-credential-helpers
2e42e913 51Suggests: git-core >= 1.7
46a6d8ab 52Suggests: libcgroup
2e42e913 53Suggests: xz >= 1:4.9
d88043a2 54Provides: group(docker)
47009a45 55Obsoletes: lxc-docker < 1.1.1
d2670441 56# only runs on x64 hosts for now:
f4565fa4
ER
57# https://github.com/docker/docker/issues/136
58# https://github.com/docker/docker/issues/611
345101bd 59ExclusiveArch: %{x8664}
b877f7b7
ER
60BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61
8c352669 62%define bash_compdir %{_datadir}/bash-completion/completions
a6da47b4 63%define zsh_compdir %{_datadir}/zsh/site-functions
f891ae41 64%define _vimdatadir %{_datadir}/vim
a990be6d 65%define _libexecdir %{_prefix}/lib
8c352669 66
434d66d3
ER
67# binary stripped or something
68%define _enable_debug_packages 0
69
b877f7b7 70%description
f4565fa4
ER
71Docker is an open source project to pack, ship and run any application
72as a lightweight container
73
74Docker containers are both hardware-agnostic and platform-agnostic.
75This means that they can run anywhere, from your laptop to the largest
76EC2 compute instance and everything in between - and they don't
77require that you use a particular language, framework or packaging
78system. That makes them great building blocks for deploying and
79scaling web apps, databases and backend services without depending on
80a particular stack or provider.
81
82Docker is an open-source implementation of the deployment engine which
83powers dotCloud, a popular Platform-as-a-Service. It benefits directly
84from the experience accumulated over several years of large-scale
85operation and support of hundreds of thousands of applications and
86databases.
b877f7b7 87
f891ae41 88%package -n bash-completion-%{name}
8c352669
ER
89Summary: bash-completion for Docker
90Summary(pl.UTF-8): bashowe uzupełnianie nazw dla Dockera
91Group: Applications/Shells
92Requires: %{name}
93Requires: bash-completion >= 2.0
47009a45 94Obsoletes: bash-completion-lxc-docker < 1.1.1
8c352669
ER
95%if "%{_rpmversion}" >= "5"
96BuildArch: noarch
97%endif
98
47009a45 99%description -n bash-completion-%{name}
8c352669
ER
100This package provides bash-completion for Docker.
101
47009a45 102%description -n bash-completion-%{name} -l pl.UTF-8
8c352669
ER
103Pakiet ten dostarcza bashowe uzupełnianie nazw dla Dockera.
104
a6da47b4
JK
105%package -n zsh-completion-%{name}
106Summary: zsh completion for Docker
107Summary(pl.UTF-8): Uzupełnianie parametrów w zsh dla poleceń Dockera
108Group: Applications/Shells
109Requires: %{name}
110%if "%{_rpmversion}" >= "5"
111BuildArch: noarch
112%endif
113
114%description -n zsh-completion-%{name}
115This package provides zsh completion for Docker.
116
117%description -n zsh-completion-%{name} -l pl.UTF-8
118Pakiet ten dostarcza uzupełnianie w zsh dla poleceń Dockera.
119
f891ae41
ER
120%package -n vim-syntax-%{name}
121Summary: Vim syntax: Docker
122Group: Applications/Editors/Vim
123Requires: %{name} = %{version}-%{release}
124Requires: vim-rt >= 4:7.2.170
47009a45 125Obsoletes: vim-syntax-lxc-docker < 1.1.1
f891ae41
ER
126%if "%{_rpmversion}" >= "5"
127BuildArch: noarch
128%endif
129
130%description -n vim-syntax-%{name}
131This plugin provides syntax highlighting in Dockerfile.
132
b877f7b7 133%prep
4467217c 134%setup -q %{?subver:-n %{name}-%{version}%{subver}} -a1 -a2
36f21c65
ER
135mv runc-%{runc_commit}* runc
136mv containerd-%{containerd_commit}* containerd
b6f967da 137%patch0 -p1
36f21c65 138
f4565fa4
ER
139install -d vendor/src/github.com/docker
140ln -s $(pwd) vendor/src/github.com/docker/docker
36f21c65 141ln -s $(pwd)/containerd containerd/vendor/src/github.com/docker/containerd
b877f7b7 142
692548c0 143%build
36f21c65
ER
144v=$(awk '/ENV RUNC_COMMIT/ {print $3}' Dockerfile)
145echo "$v" | grep "^%{runc_commit}"
146v=$(awk '/ENV CONTAINERD_COMMIT/ {print $3}' Dockerfile)
147echo "$v" | grep "^%{containerd_commit}"
148
149export GOPATH=$(pwd)/vendor:$(pwd)/containerd/vendor
e4252f76
ER
150export DOCKER_GITCOMMIT="pld/%{version}"
151
36f21c65
ER
152# build docker-runc
153%{__make} -C runc
154
155# build docker-containerd
156%{__make} -C containerd
157
90544b12 158bash -x hack/make.sh dynbinary
b317146a
ER
159%if %{with doc}
160man/md2man-all.sh
161%endif
a73bca1d 162
b877f7b7
ER
163%install
164rm -rf $RPM_BUILD_ROOT
36f21c65 165install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man1,/etc/{rc.d/init.d,sysconfig},%{systemdunitdir}} \
a990be6d 166 $RPM_BUILD_ROOT%{_libexecdir} \
7b3be108 167 $RPM_BUILD_ROOT/var/lib/docker/{containers,execdriver,graph,image,init,network,swarm,tmp,trust,vfs,volumes}
e4252f76 168
4467217c
ER
169install -p bundles/%{version}%{?subver}/dynbinary-client/docker-%{version}%{?subver} $RPM_BUILD_ROOT%{_bindir}/docker
170install -p bundles/%{version}%{?subver}/dynbinary-daemon/docker-proxy-%{version}%{?subver} $RPM_BUILD_ROOT%{_sbindir}/docker-proxy
171install -p bundles/%{version}%{?subver}/dynbinary-daemon/dockerd-%{version}%{?subver} $RPM_BUILD_ROOT%{_sbindir}/dockerd
36f21c65
ER
172
173# install docker-runc
174install -p runc/runc $RPM_BUILD_ROOT%{_sbindir}/docker-runc
175
176# install docker-containerd
177install -p containerd/bin/containerd $RPM_BUILD_ROOT%{_sbindir}/docker-containerd
178install -p containerd/bin/containerd-shim $RPM_BUILD_ROOT%{_sbindir}/docker-containerd-shim
6a5abe01 179install -p containerd/bin/ctr $RPM_BUILD_ROOT%{_sbindir}/docker-containerd-ctr
36f21c65 180
b6f967da
ER
181cp -p contrib/init/systemd/docker.service $RPM_BUILD_ROOT%{systemdunitdir}
182cp -p contrib/init/systemd/docker.socket $RPM_BUILD_ROOT%{systemdunitdir}
5fcaa458 183install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/docker
29baba5b 184install -p %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/dockerd
5fcaa458 185cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/docker
b877f7b7 186
e4252f76
ER
187# install udev rules
188install -d $RPM_BUILD_ROOT/lib/udev/rules.d
189cp -p contrib/udev/80-docker.rules $RPM_BUILD_ROOT/lib/udev/rules.d
190
a6da47b4 191# bash and zsh completion
8c352669 192install -d $RPM_BUILD_ROOT%{bash_compdir}
47009a45 193cp -p contrib/completion/bash/docker $RPM_BUILD_ROOT%{bash_compdir}/docker
a6da47b4
JK
194install -d $RPM_BUILD_ROOT%{zsh_compdir}
195cp -p contrib/completion/zsh/_docker $RPM_BUILD_ROOT%{zsh_compdir}
8c352669 196
f891ae41 197# vim syntax
c590f8e8 198%if %{with vim}
f891ae41 199install -d $RPM_BUILD_ROOT%{_vimdatadir}
7db50491 200cp -a contrib/syntax/vim/* $RPM_BUILD_ROOT%{_vimdatadir}
f891ae41 201%{__rm} $RPM_BUILD_ROOT%{_vimdatadir}/{LICENSE,README.md}
c590f8e8 202%endif
f891ae41 203
d88043a2
ER
204%pre
205%groupadd -g 296 docker
206
345101bd
ER
207%post
208/sbin/chkconfig --add %{name}
209%service -n %{name} restart
2e523ef0 210%systemd_post %{name}.service
345101bd
ER
211
212%preun
213if [ "$1" = "0" ]; then
214 %service -q %{name} stop
215 /sbin/chkconfig --del %{name}
216fi
2e523ef0 217%systemd_preun %{name}.service
345101bd 218
d88043a2
ER
219%postun
220if [ "$1" = "0" ]; then
221 %groupremove docker
222fi
2e523ef0 223%systemd_reload
d88043a2 224
b877f7b7
ER
225%clean
226rm -rf $RPM_BUILD_ROOT
227
228%files
229%defattr(644,root,root,755)
f4565fa4 230%doc README.md CHANGELOG.md CONTRIBUTING.md LICENSE AUTHORS NOTICE MAINTAINERS
62b620a7 231%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/docker
47009a45 232%attr(754,root,root) /etc/rc.d/init.d/docker
9c77b76c 233%attr(755,root,root) %{_bindir}/docker
36f21c65 234%attr(755,root,root) %{_sbindir}/docker-containerd
6a5abe01 235%attr(755,root,root) %{_sbindir}/docker-containerd-ctr
36f21c65 236%attr(755,root,root) %{_sbindir}/docker-containerd-shim
4467217c
ER
237%attr(755,root,root) %{_sbindir}/docker-proxy
238%attr(755,root,root) %{_sbindir}/docker-runc
239%attr(755,root,root) %{_sbindir}/dockerd
29baba5b 240%attr(755,root,root) %{_libexecdir}/dockerd
62b620a7 241%{systemdunitdir}/docker.service
5fcaa458 242%{systemdunitdir}/docker.socket
e4252f76 243/lib/udev/rules.d/80-docker.rules
36f21c65 244
af991618
ER
245%dir %attr(700,root,root) /var/lib/docker
246%dir %attr(700,root,root) /var/lib/docker/containers
b73b275e 247%dir %attr(700,root,root) /var/lib/docker/execdriver
af991618 248%dir %attr(700,root,root) /var/lib/docker/graph
841676f2 249%dir %attr(700,root,root) /var/lib/docker/image
b73b275e 250%dir %attr(700,root,root) /var/lib/docker/init
841676f2 251%dir %attr(700,root,root) /var/lib/docker/network
7b3be108 252%dir %attr(700,root,root) /var/lib/docker/swarm
b73b275e
ER
253%dir %attr(700,root,root) /var/lib/docker/tmp
254%dir %attr(700,root,root) /var/lib/docker/trust
255%dir %attr(700,root,root) /var/lib/docker/vfs
af991618 256%dir %attr(700,root,root) /var/lib/docker/volumes
8c352669 257
f891ae41 258%files -n bash-completion-%{name}
8c352669 259%defattr(644,root,root,755)
8c352669 260%{bash_compdir}/docker
f891ae41 261
a6da47b4
JK
262%files -n zsh-completion-%{name}
263%defattr(644,root,root,755)
264%{zsh_compdir}/_docker
265
c590f8e8 266%if %{with vim}
f891ae41
ER
267%files -n vim-syntax-%{name}
268%defattr(644,root,root,755)
7db50491 269%doc contrib/syntax/vim/{README.md,LICENSE}
f891ae41
ER
270%{_vimdatadir}/doc/dockerfile.txt
271%{_vimdatadir}/ftdetect/dockerfile.vim
272%{_vimdatadir}/syntax/dockerfile.vim
c590f8e8 273%endif
This page took 0.117248 seconds and 4 git commands to generate.