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