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