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