]> git.pld-linux.org Git - packages/docker-ce.git/blame - docker-ce.spec
correct bash-completion epoch
[packages/docker-ce.git] / docker-ce.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
8eac6649
ER
7# TODO: drop P docker when docker-compose updated to use docker(engine) dep
8
be6486fd 9# NOTES
42cfb51d
ER
10# - https://github.com/docker/docker-ce/releases
11# - https://github.com/moby/moby/blob/master/project/PACKAGERS.md#build-dependencies
be6486fd 12
29a9c8b9 13# v1.0.0-rc10
81957eaa 14%define runc_commit dc9208a
703d8d26
JP
15# v1.3.9
16%define containerd_commit ea765ab
cc4d079c 17# v0.8.0-dev.2-1075-g1b91bc94
703d8d26 18%define libnetwork_commit 55e924b
027e5a65 19#define subver -rc2
8716e3f7
ER
20Summary: Docker CE: the open-source application container engine
21Name: docker-ce
22# Using Docker-CE, Stay on Stable channel
23# https://docs.docker.com/engine/installation/
703d8d26 24Version: 19.03.14
d3c3f5e1 25Release: 2
b877f7b7
ER
26License: Apache v2.0
27Group: Applications/System
d83187b3 28# https://github.com/docker/docker-ce/releases
027e5a65 29#Source0: https://github.com/docker/docker-ce/archive/v%{version}-ce%{subver}/%{name}-%{version}-ce%{subver}.tar.gz
7461beab 30Source0: https://github.com/docker/docker-ce/archive/v%{version}/%{name}-%{version}.tar.gz
703d8d26 31# Source0-md5: f932ff952a0411223a90baaf5b829883
d6aea7e9 32Source1: https://github.com/opencontainers/runc/archive/%{runc_commit}/runc-%{runc_commit}.tar.gz
81957eaa 33# Source1-md5: b593d63c7df5a27fba615afcf411762f
ed3d2488 34Source2: https://github.com/containerd/containerd/archive/%{containerd_commit}/containerd-%{containerd_commit}.tar.gz
703d8d26 35# Source2-md5: c5cee10a5fb8f6e1d5e186912725a052
a75f03e6 36Source3: https://github.com/docker/libnetwork/archive/%{libnetwork_commit}/libnetwork-%{libnetwork_commit}.tar.gz
703d8d26 37# Source3-md5: a54f3443dbf78696e2470d6657fa03c1
5ae32a7f
JP
38Source4: https://github.com/krallin/tini/archive/v0.18.0/tini-0.18.0.tar.gz
39# Source4-md5: cc3b205a1b83b8e6ed6892fc5e8ef2c3
8716e3f7
ER
40Source5: dockerd.sh
41Source7: docker.init
42Source8: docker.sysconfig
b6f967da 43Patch0: systemd.patch
8716e3f7 44URL: https://www.docker.com/community-edition/
be6486fd 45BuildRequires: btrfs-progs-devel >= 3.16.1
6dee0436 46BuildRequires: cmake
be6486fd 47BuildRequires: device-mapper-devel >= 2.02.89
17308b71 48BuildRequires: glibc-static
b1848dea 49BuildRequires: golang >= 1.12
03f02fdd 50BuildRequires: libseccomp-devel >= 2.3
008d1a6c 51BuildRequires: rpm-build >= 4.6
0be68701 52BuildRequires: rpmbuild(macros) >= 1.644
678a84bd 53BuildRequires: sqlite3-devel >= 3.7.9
a8843e04 54BuildRequires: xxd
d88043a2
ER
55Requires(post,preun): /sbin/chkconfig
56Requires(postun): /usr/sbin/groupdel
57Requires(pre): /usr/bin/getgid
58Requires(pre): /usr/sbin/groupadd
27e7cc0f 59Requires: ca-certificates
2e42e913 60Requires: iproute2 >= 3.5
b5920dfc 61Requires: iptables
1f4bb2f8 62Requires: libseccomp >= 2.3
345101bd 63Requires: rc-scripts >= 0.4.0.10
0be68701 64Requires: systemd-units >= 38
2e42e913 65Requires: tar >= 1:1.26
2015cb19 66Requires: uname(release) >= 3.8
db150373 67Requires: xz
65777843 68Suggests: docker-credential-helpers
2e42e913 69Suggests: git-core >= 1.7
46a6d8ab 70Suggests: libcgroup
2e42e913 71Suggests: xz >= 1:4.9
8eac6649
ER
72Provides: docker = %{version}
73Provides: docker(engine) = %{version}
d88043a2 74Provides: group(docker)
87ea3e27 75Obsoletes: docker < 18.0
47009a45 76Obsoletes: lxc-docker < 1.1.1
d2670441 77# only runs on x64 hosts for now:
f4565fa4
ER
78# https://github.com/docker/docker/issues/136
79# https://github.com/docker/docker/issues/611
c40c0f56 80ExclusiveArch: %{x8664} aarch64
b877f7b7
ER
81BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82
8c352669 83%define bash_compdir %{_datadir}/bash-completion/completions
a6da47b4 84%define zsh_compdir %{_datadir}/zsh/site-functions
f891ae41 85%define _vimdatadir %{_datadir}/vim
a990be6d 86%define _libexecdir %{_prefix}/lib
8c352669 87
434d66d3
ER
88# binary stripped or something
89%define _enable_debug_packages 0
90
b877f7b7 91%description
f4565fa4
ER
92Docker is an open source project to pack, ship and run any application
93as a lightweight container
94
95Docker containers are both hardware-agnostic and platform-agnostic.
96This means that they can run anywhere, from your laptop to the largest
97EC2 compute instance and everything in between - and they don't
98require that you use a particular language, framework or packaging
99system. That makes them great building blocks for deploying and
100scaling web apps, databases and backend services without depending on
101a particular stack or provider.
102
103Docker is an open-source implementation of the deployment engine which
104powers dotCloud, a popular Platform-as-a-Service. It benefits directly
105from the experience accumulated over several years of large-scale
106operation and support of hundreds of thousands of applications and
107databases.
b877f7b7 108
f891ae41 109%package -n bash-completion-%{name}
8c352669
ER
110Summary: bash-completion for Docker
111Summary(pl.UTF-8): bashowe uzupełnianie nazw dla Dockera
112Group: Applications/Shells
113Requires: %{name}
3d020763 114Requires: bash-completion >= 1:2.0
47009a45 115Obsoletes: bash-completion-lxc-docker < 1.1.1
8c352669 116BuildArch: noarch
8c352669 117
47009a45 118%description -n bash-completion-%{name}
8c352669
ER
119This package provides bash-completion for Docker.
120
47009a45 121%description -n bash-completion-%{name} -l pl.UTF-8
8c352669
ER
122Pakiet ten dostarcza bashowe uzupełnianie nazw dla Dockera.
123
a6da47b4
JK
124%package -n zsh-completion-%{name}
125Summary: zsh completion for Docker
126Summary(pl.UTF-8): Uzupełnianie parametrów w zsh dla poleceń Dockera
127Group: Applications/Shells
128Requires: %{name}
a6da47b4 129BuildArch: noarch
a6da47b4
JK
130
131%description -n zsh-completion-%{name}
132This package provides zsh completion for Docker.
133
134%description -n zsh-completion-%{name} -l pl.UTF-8
135Pakiet ten dostarcza uzupełnianie w zsh dla poleceń Dockera.
136
f891ae41
ER
137%package -n vim-syntax-%{name}
138Summary: Vim syntax: Docker
139Group: Applications/Editors/Vim
140Requires: %{name} = %{version}-%{release}
141Requires: vim-rt >= 4:7.2.170
47009a45 142Obsoletes: vim-syntax-lxc-docker < 1.1.1
f891ae41 143BuildArch: noarch
f891ae41
ER
144
145%description -n vim-syntax-%{name}
146This plugin provides syntax highlighting in Dockerfile.
147
b877f7b7 148%prep
7461beab 149%setup -q -n %{name}-%{version}%{?subver} -a1 -a2 -a3 -a4
3fe85ad0
ER
150
151mv runc-%{runc_commit}* runc
152mv runc/vendor runc/src
153ln -s ../../.. runc/src/github.com/opencontainers/runc
154
155mv containerd-%{containerd_commit}* containerd
ed3d2488
ER
156mv containerd/vendor containerd/src
157ln -s ../../.. containerd/src/github.com/containerd/containerd
3fe85ad0
ER
158
159mv libnetwork-%{libnetwork_commit}* libnetwork
160install -d libnetwork/gopath
161mv libnetwork/vendor libnetwork/gopath/src
162ln -s ../../../.. libnetwork/gopath/src/github.com/docker/libnetwork
163
b96d9f58 164mv tini-* tini
36f21c65 165
f47d9fe1
ER
166install -d components/cli/.gopath/src/github.com/docker
167ln -s ../../../.. components/cli/.gopath/src/github.com/docker/cli
d83187b3 168
f47d9fe1 169%patch0 -p1 -d components/engine
b877f7b7 170
692548c0 171%build
87ea3e27 172grep -rhE "=%{runc_commit}|=%{containerd_commit}|=%{libnetwork_commit}" $(pwd)/components/engine/hack/dockerfile/install/
36f21c65 173
740f7150 174export VERSION=%{version}-ce # for `docker version`
8e447246
ER
175export GITCOMMIT="PLD-Linux/%{version}" # for cli
176export DOCKER_GITCOMMIT="PLD-Linux/%{version}" # for engine
d3c3f5e1 177export GO111MODULE=off
b3c6f3dc 178
7461beab 179# build runc
cd3b43db 180sed -i -e 's,shell git,shell false,' runc/Makefile
3fe85ad0 181GOPATH=$(pwd)/runc \
cd3b43db 182%{__make} -C runc \
4f00b115 183 COMMIT=$RUNC_COMMIT
3fe85ad0 184./runc/runc -v
36f21c65 185
7461beab 186# build containerd
ed3d2488 187GOPATH=$(pwd)/containerd \
4f00b115
ER
188%{__make} -C containerd \
189 GIT_COMMIT=$CONTAINERD_COMMIT
36f21c65 190
a75f03e6 191# build docker-proxy
3fe85ad0
ER
192cd libnetwork
193GOPATH=$(pwd)/gopath \
194go build -ldflags="-linkmode=external" \
195 -o docker-proxy \
196 github.com/docker/libnetwork/cmd/proxy
197cd ..
a75f03e6 198
b96d9f58
ER
199# build docker-init
200cd tini
7397034b 201cmake .
b96d9f58 202%{__make}
b96d9f58 203
3fe85ad0 204# docker cli
b3c6f3dc 205cd ../components/cli
b3c6f3dc 206GOPATH=$(pwd)/.gopath \
b5a02972 207DISABLE_WARN_OUTSIDE_CONTAINER=1 \
f47d9fe1 208%{__make} dynbinary
3fe85ad0 209./build/docker -v
b3c6f3dc
ER
210
211cd ../engine
3fe85ad0 212AUTO_GOPATH=1 \
90544b12 213bash -x hack/make.sh dynbinary
e1b575de 214./bundles/dynbinary-daemon/dockerd -v
b317146a
ER
215%if %{with doc}
216man/md2man-all.sh
217%endif
a73bca1d 218
b877f7b7
ER
219%install
220rm -rf $RPM_BUILD_ROOT
36f21c65 221install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man1,/etc/{rc.d/init.d,sysconfig},%{systemdunitdir}} \
db76d66e 222 $RPM_BUILD_ROOT%{_sysconfdir}/docker \
a990be6d 223 $RPM_BUILD_ROOT%{_libexecdir} \
7b3be108 224 $RPM_BUILD_ROOT/var/lib/docker/{containers,execdriver,graph,image,init,network,swarm,tmp,trust,vfs,volumes}
e4252f76 225
3fe85ad0 226# docker-cli
b3c6f3dc 227install -p components/cli/build/docker $RPM_BUILD_ROOT%{_bindir}/docker
36f21c65 228
7461beab
JP
229# runc
230install -p runc/runc $RPM_BUILD_ROOT%{_sbindir}/runc
36f21c65 231
7461beab
JP
232# containerd
233install -p containerd/bin/containerd $RPM_BUILD_ROOT%{_sbindir}/containerd
234install -p containerd/bin/containerd-shim $RPM_BUILD_ROOT%{_sbindir}/containerd-shim
235install -p containerd/bin/ctr $RPM_BUILD_ROOT%{_sbindir}/ctr
36f21c65 236
3fe85ad0
ER
237# docker-proxy
238install -p libnetwork/docker-proxy $RPM_BUILD_ROOT%{_sbindir}/docker-proxy
a75f03e6 239
3fe85ad0 240# docker-init
b96d9f58
ER
241install -p tini/tini $RPM_BUILD_ROOT%{_sbindir}/docker-init
242
3fe85ad0
ER
243# dockerd
244cd components/engine
e1b575de 245install -p bundles/dynbinary-daemon/dockerd $RPM_BUILD_ROOT%{_sbindir}/dockerd
3fe85ad0
ER
246cp -p contrib/init/systemd/docker.service $RPM_BUILD_ROOT%{systemdunitdir}
247cp -p contrib/init/systemd/docker.socket $RPM_BUILD_ROOT%{systemdunitdir}
5fcaa458 248install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/docker
b96d9f58 249install -p %{SOURCE5} $RPM_BUILD_ROOT%{_libexecdir}/dockerd
5fcaa458 250cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/docker
b877f7b7 251
e4252f76
ER
252# install udev rules
253install -d $RPM_BUILD_ROOT/lib/udev/rules.d
254cp -p contrib/udev/80-docker.rules $RPM_BUILD_ROOT/lib/udev/rules.d
255
f891ae41 256# vim syntax
c590f8e8 257%if %{with vim}
f891ae41 258install -d $RPM_BUILD_ROOT%{_vimdatadir}
7db50491 259cp -a contrib/syntax/vim/* $RPM_BUILD_ROOT%{_vimdatadir}
f891ae41 260%{__rm} $RPM_BUILD_ROOT%{_vimdatadir}/{LICENSE,README.md}
c590f8e8 261%endif
f891ae41 262
b9423c2b
ER
263# bash and zsh completion
264cd ../cli/contrib/completion
265install -d $RPM_BUILD_ROOT%{bash_compdir}
266cp -p bash/docker $RPM_BUILD_ROOT%{bash_compdir}
267install -d $RPM_BUILD_ROOT%{zsh_compdir}
268cp -p zsh/_docker $RPM_BUILD_ROOT%{zsh_compdir}
269
d88043a2
ER
270%pre
271%groupadd -g 296 docker
272
345101bd 273%post
8716e3f7
ER
274/sbin/chkconfig --add docker
275%service -n docker restart
276%systemd_post docker.service
345101bd
ER
277
278%preun
279if [ "$1" = "0" ]; then
8716e3f7
ER
280 %service -q docker stop
281 /sbin/chkconfig --del docker
345101bd 282fi
8716e3f7 283%systemd_preun docker.service
345101bd 284
d88043a2
ER
285%postun
286if [ "$1" = "0" ]; then
287 %groupremove docker
288fi
2e523ef0 289%systemd_reload
d88043a2 290
eb841086
ER
291%triggerun -- docker < 17.0
292# Prevent preun from docker from working
293chmod a-x /etc/rc.d/init.d/docker
294
295%triggerpostun -- docker < 17.0
296# Restore what triggerun removed
297chmod 754 /etc/rc.d/init.d/docker
298# reinstall docker init.d links, which could be different
299/sbin/chkconfig --del docker
300/sbin/chkconfig --add docker
301
b877f7b7
ER
302%clean
303rm -rf $RPM_BUILD_ROOT
304
305%files
306%defattr(644,root,root,755)
3fe85ad0 307%doc components/engine/{README.md,CHANGELOG.md,CONTRIBUTING.md,LICENSE,AUTHORS,NOTICE,MAINTAINERS}
62b620a7 308%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/docker
47009a45 309%attr(754,root,root) /etc/rc.d/init.d/docker
db76d66e 310%dir %{_sysconfdir}/docker
9c77b76c 311%attr(755,root,root) %{_bindir}/docker
7461beab
JP
312%attr(755,root,root) %{_sbindir}/containerd
313%attr(755,root,root) %{_sbindir}/ctr
314%attr(755,root,root) %{_sbindir}/containerd-shim
b96d9f58 315%attr(755,root,root) %{_sbindir}/docker-init
4467217c 316%attr(755,root,root) %{_sbindir}/docker-proxy
7461beab 317%attr(755,root,root) %{_sbindir}/runc
4467217c 318%attr(755,root,root) %{_sbindir}/dockerd
29baba5b 319%attr(755,root,root) %{_libexecdir}/dockerd
62b620a7 320%{systemdunitdir}/docker.service
5fcaa458 321%{systemdunitdir}/docker.socket
e4252f76 322/lib/udev/rules.d/80-docker.rules
36f21c65 323
af991618
ER
324%dir %attr(700,root,root) /var/lib/docker
325%dir %attr(700,root,root) /var/lib/docker/containers
b73b275e 326%dir %attr(700,root,root) /var/lib/docker/execdriver
af991618 327%dir %attr(700,root,root) /var/lib/docker/graph
841676f2 328%dir %attr(700,root,root) /var/lib/docker/image
b73b275e 329%dir %attr(700,root,root) /var/lib/docker/init
841676f2 330%dir %attr(700,root,root) /var/lib/docker/network
7b3be108 331%dir %attr(700,root,root) /var/lib/docker/swarm
b73b275e
ER
332%dir %attr(700,root,root) /var/lib/docker/tmp
333%dir %attr(700,root,root) /var/lib/docker/trust
334%dir %attr(700,root,root) /var/lib/docker/vfs
af991618 335%dir %attr(700,root,root) /var/lib/docker/volumes
8c352669 336
f891ae41 337%files -n bash-completion-%{name}
8c352669 338%defattr(644,root,root,755)
8c352669 339%{bash_compdir}/docker
f891ae41 340
a6da47b4
JK
341%files -n zsh-completion-%{name}
342%defattr(644,root,root,755)
343%{zsh_compdir}/_docker
344
c590f8e8 345%if %{with vim}
f891ae41
ER
346%files -n vim-syntax-%{name}
347%defattr(644,root,root,755)
3fe85ad0 348%doc components/engine/contrib/syntax/vim/{README.md,LICENSE}
f891ae41
ER
349%{_vimdatadir}/doc/dockerfile.txt
350%{_vimdatadir}/ftdetect/dockerfile.vim
351%{_vimdatadir}/syntax/dockerfile.vim
c590f8e8 352%endif
This page took 0.184596 seconds and 4 git commands to generate.