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