]>
Commit | Line | Data |
---|---|---|
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 | 14 | Summary: Docker: the open-source application container engine |
47009a45 | 15 | Name: docker |
c949723e | 16 | Version: 1.11.2 |
d078070c | 17 | Release: 1 |
b877f7b7 ER |
18 | License: Apache v2.0 |
19 | Group: Applications/System | |
f4565fa4 | 20 | Source0: https://github.com/docker/docker/archive/v%{version}/%{name}-%{version}.tar.gz |
c949723e | 21 | # Source0-md5: ada4a756f71886049ad793cab8787de8 |
36f21c65 ER |
22 | Source1: https://github.com/opencontainers/runc/archive/%{runc_commit}/runc-%{runc_commit}.tar.gz |
23 | # Source1-md5: b6b2f2e5722666e7d1a1d5062ff996e3 | |
24 | Source2: https://github.com/docker/containerd/archive/%{containerd_commit}/containerd-%{containerd_commit}.tar.gz | |
25 | # Source2-md5: 76c1e68052b35a3dcfbc6d76d61f17cd | |
26 | Source4: %{name}.sh | |
c74634f7 | 27 | Source5: %{name}.service |
345101bd | 28 | Source6: %{name}.init |
62b620a7 | 29 | Source7: %{name}.sysconfig |
35e5a999 | 30 | URL: http://www.docker.com/ |
be6486fd ER |
31 | BuildRequires: btrfs-progs-devel >= 3.16.1 |
32 | BuildRequires: device-mapper-devel >= 2.02.89 | |
33 | BuildRequires: golang >= 1.4 | |
34 | BuildRequires: libseccomp-devel >= 2.2.1 | |
345101bd | 35 | BuildRequires: rpmbuild(macros) >= 1.228 |
678a84bd | 36 | BuildRequires: sqlite3-devel >= 3.7.9 |
d88043a2 ER |
37 | Requires(post,preun): /sbin/chkconfig |
38 | Requires(postun): /usr/sbin/groupdel | |
39 | Requires(pre): /usr/bin/getgid | |
40 | Requires(pre): /usr/sbin/groupadd | |
2e42e913 | 41 | Requires: iproute2 >= 3.5 |
b5920dfc | 42 | Requires: iptables |
345101bd | 43 | Requires: rc-scripts >= 0.4.0.10 |
2e42e913 | 44 | Requires: tar >= 1:1.26 |
2015cb19 | 45 | Requires: uname(release) >= 3.8 |
db150373 | 46 | Requires: xz |
2e42e913 | 47 | Suggests: git-core >= 1.7 |
46a6d8ab | 48 | Suggests: libcgroup |
2e42e913 | 49 | Suggests: xz >= 1:4.9 |
d88043a2 | 50 | Provides: group(docker) |
47009a45 | 51 | Obsoletes: 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 | 55 | ExclusiveArch: %{x8664} |
b877f7b7 ER |
56 | BuildRoot: %{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 |
66 | Docker is an open source project to pack, ship and run any application |
67 | as a lightweight container | |
68 | ||
69 | Docker containers are both hardware-agnostic and platform-agnostic. | |
70 | This means that they can run anywhere, from your laptop to the largest | |
71 | EC2 compute instance and everything in between - and they don't | |
72 | require that you use a particular language, framework or packaging | |
73 | system. That makes them great building blocks for deploying and | |
74 | scaling web apps, databases and backend services without depending on | |
75 | a particular stack or provider. | |
76 | ||
77 | Docker is an open-source implementation of the deployment engine which | |
78 | powers dotCloud, a popular Platform-as-a-Service. It benefits directly | |
79 | from the experience accumulated over several years of large-scale | |
80 | operation and support of hundreds of thousands of applications and | |
81 | databases. | |
b877f7b7 | 82 | |
f891ae41 | 83 | %package -n bash-completion-%{name} |
8c352669 ER |
84 | Summary: bash-completion for Docker |
85 | Summary(pl.UTF-8): bashowe uzupełnianie nazw dla Dockera | |
86 | Group: Applications/Shells | |
87 | Requires: %{name} | |
88 | Requires: bash-completion >= 2.0 | |
47009a45 | 89 | Obsoletes: bash-completion-lxc-docker < 1.1.1 |
8c352669 ER |
90 | %if "%{_rpmversion}" >= "5" |
91 | BuildArch: noarch | |
92 | %endif | |
93 | ||
47009a45 | 94 | %description -n bash-completion-%{name} |
8c352669 ER |
95 | This package provides bash-completion for Docker. |
96 | ||
47009a45 | 97 | %description -n bash-completion-%{name} -l pl.UTF-8 |
8c352669 ER |
98 | Pakiet ten dostarcza bashowe uzupełnianie nazw dla Dockera. |
99 | ||
f891ae41 ER |
100 | %package -n vim-syntax-%{name} |
101 | Summary: Vim syntax: Docker | |
102 | Group: Applications/Editors/Vim | |
103 | Requires: %{name} = %{version}-%{release} | |
104 | Requires: vim-rt >= 4:7.2.170 | |
47009a45 | 105 | Obsoletes: vim-syntax-lxc-docker < 1.1.1 |
f891ae41 ER |
106 | %if "%{_rpmversion}" >= "5" |
107 | BuildArch: noarch | |
108 | %endif | |
109 | ||
110 | %description -n vim-syntax-%{name} | |
111 | This plugin provides syntax highlighting in Dockerfile. | |
112 | ||
b877f7b7 | 113 | %prep |
36f21c65 | 114 | %setup -q -a1 -a2 |
b877f7b7 | 115 | |
36f21c65 ER |
116 | mv runc-%{runc_commit}* runc |
117 | mv containerd-%{containerd_commit}* containerd | |
118 | ||
f4565fa4 ER |
119 | install -d vendor/src/github.com/docker |
120 | ln -s $(pwd) vendor/src/github.com/docker/docker | |
36f21c65 | 121 | ln -s $(pwd)/containerd containerd/vendor/src/github.com/docker/containerd |
b877f7b7 | 122 | |
692548c0 | 123 | %build |
36f21c65 ER |
124 | v=$(awk '/ENV RUNC_COMMIT/ {print $3}' Dockerfile) |
125 | echo "$v" | grep "^%{runc_commit}" | |
126 | v=$(awk '/ENV CONTAINERD_COMMIT/ {print $3}' Dockerfile) | |
127 | echo "$v" | grep "^%{containerd_commit}" | |
128 | ||
129 | export GOPATH=$(pwd)/vendor:$(pwd)/containerd/vendor | |
e4252f76 ER |
130 | export 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 | 138 | bash -x hack/make.sh dynbinary |
b317146a ER |
139 | %if %{with doc} |
140 | man/md2man-all.sh | |
141 | %endif | |
a73bca1d | 142 | |
b877f7b7 ER |
143 | %install |
144 | rm -rf $RPM_BUILD_ROOT | |
36f21c65 | 145 | install -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 | |
149 | install -p bundles/%{version}/dynbinary/docker-%{version} $RPM_BUILD_ROOT%{_bindir}/docker | |
36f21c65 ER |
150 | |
151 | # install docker-runc | |
152 | install -p runc/runc $RPM_BUILD_ROOT%{_sbindir}/docker-runc | |
153 | ||
154 | # install docker-containerd | |
155 | install -p containerd/bin/containerd $RPM_BUILD_ROOT%{_sbindir}/docker-containerd | |
156 | install -p containerd/bin/containerd-shim $RPM_BUILD_ROOT%{_sbindir}/docker-containerd-shim | |
157 | install -p containerd/bin/ctr $RPM_BUILD_ROOT%{_sbindir}/docker-ctr | |
158 | ||
e4252f76 | 159 | cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir} |
47009a45 | 160 | install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/docker |
36f21c65 | 161 | install -p %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/docker |
62b620a7 | 162 | cp -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 |
166 | install -d $RPM_BUILD_ROOT/lib/udev/rules.d | |
167 | cp -p contrib/udev/80-docker.rules $RPM_BUILD_ROOT/lib/udev/rules.d | |
168 | ||
8c352669 ER |
169 | # bash completion |
170 | install -d $RPM_BUILD_ROOT%{bash_compdir} | |
47009a45 | 171 | cp -p contrib/completion/bash/docker $RPM_BUILD_ROOT%{bash_compdir}/docker |
8c352669 | 172 | |
f891ae41 | 173 | # vim syntax |
c590f8e8 | 174 | %if %{with vim} |
f891ae41 | 175 | install -d $RPM_BUILD_ROOT%{_vimdatadir} |
7db50491 | 176 | cp -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 | |
188 | if [ "$1" = "0" ]; then | |
189 | %service -q %{name} stop | |
190 | /sbin/chkconfig --del %{name} | |
191 | fi | |
192 | ||
d88043a2 ER |
193 | %postun |
194 | if [ "$1" = "0" ]; then | |
195 | %groupremove docker | |
196 | fi | |
197 | ||
b877f7b7 ER |
198 | %clean |
199 | rm -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 |