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