github.com/mforkel/docker-ce-i386@v17.12.1-ce-rc2+incompatible/components/packaging/rpm/fedora-26/docker-ce.spec (about) 1 Name: docker-ce 2 Version: %{_version} 3 Release: %{_release}%{?dist} 4 Summary: The open-source application container engine 5 Group: Tools/Docker 6 License: ASL 2.0 7 Source0: engine.tgz 8 Source1: cli.tgz 9 URL: https://www.docker.com 10 Vendor: Docker 11 Packager: Docker <support@docker.com> 12 13 # DWZ problem with multiple golang binary, see bug 14 # https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12 15 %global _dwz_low_mem_die_limit 0 16 %global is_systemd 1 17 %global with_selinux 1 18 19 BuildRequires: pkgconfig(systemd) 20 21 # required packages on install 22 Requires: /bin/sh 23 Requires: container-selinux >= 2.9 24 Requires: iptables 25 Requires: libcgroup 26 Requires: systemd-units 27 Requires: tar 28 Requires: xz 29 30 # Resolves: rhbz#1165615 31 Requires: device-mapper-libs >= 1.02.90-1 32 33 # conflicting packages 34 Conflicts: docker 35 Conflicts: docker-io 36 Conflicts: docker-engine-cs 37 Conflicts: docker-ee 38 39 # Obsolete packages 40 Obsoletes: docker-ce-selinux 41 Obsoletes: docker-engine-selinux 42 Obsoletes: docker-engine 43 44 %description 45 Docker is an open source project to build, ship and run any application as a 46 lightweight container. 47 48 Docker containers are both hardware-agnostic and platform-agnostic. This means 49 they can run anywhere, from your laptop to the largest EC2 compute instance and 50 everything in between - and they don't require you to use a particular 51 language, framework or packaging system. That makes them great building blocks 52 for deploying and scaling web apps, databases, and backend services without 53 depending on a particular stack or provider. 54 55 %prep 56 %setup -q -c -n src -a 1 57 58 %build 59 export DOCKER_GITCOMMIT=%{_gitcommit} 60 mkdir -p /go/src/github.com/docker 61 rm -f /go/src/github.com/docker/cli 62 ln -s /root/rpmbuild/BUILD/src/cli /go/src/github.com/docker/cli 63 pushd /go/src/github.com/docker/cli 64 make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli 65 popd 66 pushd engine 67 TMP_GOPATH="/go" hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini 68 VERSION=%{_origversion} hack/make.sh dynbinary 69 popd 70 mkdir -p plugin 71 printf '{"edition_type":"ce","edition_name":"%s","edition_version":"%s"}\n' "${DISTRO}" "%{_version}" > plugin/.plugin-metadata 72 73 %check 74 cli/build/docker -v 75 engine/bundles/dynbinary-daemon/dockerd -v 76 77 %install 78 # install binary 79 install -d $RPM_BUILD_ROOT/%{_bindir} 80 install -p -m 755 cli/build/docker $RPM_BUILD_ROOT/%{_bindir}/docker 81 install -p -m 755 $(readlink -f engine/bundles/dynbinary-daemon/dockerd) $RPM_BUILD_ROOT/%{_bindir}/dockerd 82 83 # install proxy 84 install -p -m 755 /usr/local/bin/docker-proxy $RPM_BUILD_ROOT/%{_bindir}/docker-proxy 85 86 # install containerd 87 install -p -m 755 /usr/local/bin/docker-containerd $RPM_BUILD_ROOT/%{_bindir}/docker-containerd 88 install -p -m 755 /usr/local/bin/docker-containerd-shim $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-shim 89 install -p -m 755 /usr/local/bin/docker-containerd-ctr $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-ctr 90 91 # install runc 92 install -p -m 755 /usr/local/bin/docker-runc $RPM_BUILD_ROOT/%{_bindir}/docker-runc 93 94 # install tini 95 install -p -m 755 /usr/local/bin/docker-init $RPM_BUILD_ROOT/%{_bindir}/docker-init 96 97 # install udev rules 98 install -d $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d 99 install -p -m 644 engine/contrib/udev/80-docker.rules $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/80-docker.rules 100 101 # add init scripts 102 install -d $RPM_BUILD_ROOT/etc/sysconfig 103 install -d $RPM_BUILD_ROOT/%{_initddir} 104 install -d $RPM_BUILD_ROOT/%{_unitdir} 105 # Fedora 25+ supports (and needs) TasksMax 106 sed -i 's/^#TasksMax=/TasksMax=/' /systemd/docker.service 107 install -p -m 644 /systemd/docker.service $RPM_BUILD_ROOT/%{_unitdir}/docker.service 108 # add bash, zsh, and fish completions 109 install -d $RPM_BUILD_ROOT/usr/share/bash-completion/completions 110 install -d $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions 111 install -d $RPM_BUILD_ROOT/usr/share/fish/vendor_completions.d 112 install -p -m 644 cli/contrib/completion/bash/docker $RPM_BUILD_ROOT/usr/share/bash-completion/completions/docker 113 install -p -m 644 cli/contrib/completion/zsh/_docker $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions/_docker 114 install -p -m 644 cli/contrib/completion/fish/docker.fish $RPM_BUILD_ROOT/usr/share/fish/vendor_completions.d/docker.fish 115 116 # install manpages 117 install -d %{buildroot}%{_mandir}/man1 118 install -p -m 644 cli/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1 119 install -d %{buildroot}%{_mandir}/man5 120 install -p -m 644 cli/man/man5/*.5 $RPM_BUILD_ROOT/%{_mandir}/man5 121 install -d %{buildroot}%{_mandir}/man8 122 install -p -m 644 cli/man/man8/*.8 $RPM_BUILD_ROOT/%{_mandir}/man8 123 124 # add vimfiles 125 install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc 126 install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect 127 install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax 128 install -p -m 644 engine/contrib/syntax/vim/doc/dockerfile.txt $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc/dockerfile.txt 129 install -p -m 644 engine/contrib/syntax/vim/ftdetect/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect/dockerfile.vim 130 install -p -m 644 engine/contrib/syntax/vim/syntax/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax/dockerfile.vim 131 132 # add nano 133 install -d $RPM_BUILD_ROOT/usr/share/nano 134 install -p -m 644 engine/contrib/syntax/nano/Dockerfile.nanorc $RPM_BUILD_ROOT/usr/share/nano/Dockerfile.nanorc 135 136 mkdir -p build-docs 137 for engine_file in AUTHORS CHANGELOG.md CONTRIBUTING.md LICENSE MAINTAINERS NOTICE README.md; do 138 cp "engine/$engine_file" "build-docs/engine-$engine_file" 139 done 140 for cli_file in LICENSE MAINTAINERS NOTICE README.md; do 141 cp "cli/$cli_file" "build-docs/cli-$cli_file" 142 done 143 144 # list files owned by the package here 145 %files 146 %doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md 147 %doc build-docs/cli-LICENSE build-docs/cli-MAINTAINERS build-docs/cli-NOTICE build-docs/cli-README.md 148 /%{_bindir}/docker 149 /%{_bindir}/dockerd 150 /%{_bindir}/docker-containerd 151 /%{_bindir}/docker-containerd-shim 152 /%{_bindir}/docker-containerd-ctr 153 /%{_bindir}/docker-proxy 154 /%{_bindir}/docker-runc 155 /%{_bindir}/docker-init 156 /%{_sysconfdir}/udev/rules.d/80-docker.rules 157 /%{_unitdir}/docker.service 158 /usr/share/bash-completion/completions/docker 159 /usr/share/zsh/vendor-completions/_docker 160 /usr/share/fish/vendor_completions.d/docker.fish 161 %doc 162 /%{_mandir}/man1/* 163 /%{_mandir}/man5/* 164 /%{_mandir}/man8/* 165 /usr/share/vim/vimfiles/doc/dockerfile.txt 166 /usr/share/vim/vimfiles/ftdetect/dockerfile.vim 167 /usr/share/vim/vimfiles/syntax/dockerfile.vim 168 /usr/share/nano/Dockerfile.nanorc 169 170 %pre 171 if [ $1 -gt 0 ] ; then 172 # package upgrade scenario, before new files are installed 173 174 # clear any old state 175 rm -f %{_localstatedir}/lib/rpm-state/docker-is-active > /dev/null 2>&1 || : 176 177 # check if docker service is running 178 if systemctl is-active docker > /dev/null 2>&1; then 179 systemctl stop docker > /dev/null 2>&1 || : 180 touch %{_localstatedir}/lib/rpm-state/docker-is-active > /dev/null 2>&1 || : 181 fi 182 fi 183 184 %post 185 %systemd_post docker 186 if ! getent group docker > /dev/null; then 187 groupadd --system docker 188 fi 189 190 %preun 191 %systemd_preun docker 192 193 %postun 194 %systemd_postun_with_restart docker 195 196 %posttrans 197 if [ $1 -ge 0 ] ; then 198 # package upgrade scenario, after new files are installed 199 200 # check if docker was running before upgrade 201 if [ -f %{_localstatedir}/lib/rpm-state/docker-is-active ]; then 202 systemctl start docker > /dev/null 2>&1 || : 203 rm -f %{_localstatedir}/lib/rpm-state/docker-is-active > /dev/null 2>&1 || : 204 fi 205 fi 206 207 %changelog