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