diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | docker-ce.spec | 120 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 122 insertions, 0 deletions
@@ -0,0 +1 @@ +/engine.tgz diff --git a/docker-ce.spec b/docker-ce.spec new file mode 100644 index 0000000..26f9509 --- /dev/null +++ b/docker-ce.spec @@ -0,0 +1,120 @@ +%global debug_package %{nil} + +Name: docker-ce +Version: 27.2.0 +Release: 1 +Epoch: 3 +Source0: engine.tgz +Summary: The open-source application container engine +Group: Tools/Docker +License: ASL 2.0 +URL: https://www.docker.com +Vendor: Docker +Packager: Docker <support@docker.com> + +Requires: /usr/sbin/groupadd +Requires: docker-ce-cli +Recommends: docker-ce-rootless-extras +Requires: container-selinux >= 2:2.74 +Requires: libseccomp >= 2.3 +Requires: systemd +Requires: iptables +%if %{undefined rhel} || 0%{?rhel} < 9 +# Libcgroup is no longer available in RHEL/CentOS >= 9 distros. +Requires: libcgroup +%endif +Requires: containerd.io >= 1.6.24 +Requires: tar +Requires: xz + +BuildRequires: bash +BuildRequires: ca-certificates +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: git +BuildRequires: glibc-static +BuildRequires: libarchive +BuildRequires: libseccomp-devel +BuildRequires: libselinux-devel +BuildRequires: libtool +BuildRequires: libtool-ltdl-devel +BuildRequires: make +BuildRequires: pkgconfig +BuildRequires: pkgconfig(systemd) +BuildRequires: selinux-policy-devel +BuildRequires: systemd-devel +BuildRequires: tar +BuildRequires: which + +# conflicting packages +Conflicts: docker +Conflicts: docker-io +Conflicts: docker-ee + +# Obsolete packages +Obsoletes: docker-ce-selinux +Obsoletes: docker-engine-selinux +Obsoletes: docker-engine + +%description +Docker is a product for you to build, ship and run any application as a +lightweight container. + +Docker containers are both hardware-agnostic and platform-agnostic. This means +they can run anywhere, from your laptop to the largest cloud compute instance +and everything in between - and they don't require you to use a particular +language, framework or packaging system. That makes them great building blocks +for deploying and scaling web apps, databases, and backend services without +depending on a particular stack or provider. + +%prep +%setup -q -c -n src -a 0 + +%build + +export DOCKER_GITCOMMIT=%{_gitcommit_engine} +mkdir -p /go/src/github.com/docker +ln -snf ${RPM_BUILD_DIR}/src/engine /go/src/github.com/docker/docker + +pushd ${RPM_BUILD_DIR}/src/engine +TMP_GOPATH="/go" hack/dockerfile/install/install.sh tini +VERSION=%{_origversion} PRODUCT=docker hack/make.sh dynbinary +popd + +%check +ver="$(engine/bundles/dynbinary-daemon/dockerd --version)"; \ + test "$ver" = "Docker version %{_origversion}, build %{_gitcommit_engine}" && echo "PASS: daemon version OK" || (echo "FAIL: daemon version ($ver) did not match" && exit 1) + +%install +install -D -p -m 0755 $(readlink -f engine/bundles/dynbinary-daemon/dockerd) ${RPM_BUILD_ROOT}%{_bindir}/dockerd +install -D -p -m 0755 $(readlink -f engine/bundles/dynbinary-daemon/docker-proxy) ${RPM_BUILD_ROOT}%{_bindir}/docker-proxy +install -D -p -m 0755 /usr/local/bin/docker-init ${RPM_BUILD_ROOT}%{_libexecdir}/docker/docker-init + +# install systemd scripts +install -D -m 0644 engine/contrib/init/systemd/docker.service ${RPM_BUILD_ROOT}%{_unitdir}/docker.service +install -D -m 0644 engine/contrib/init/systemd/docker.socket ${RPM_BUILD_ROOT}%{_unitdir}/docker.socket + +# create the config directory +mkdir -p ${RPM_BUILD_ROOT}/etc/docker + +%files +%{_bindir}/dockerd +%{_bindir}/docker-proxy +%{_libexecdir}/docker/docker-init +%{_unitdir}/docker.service +%{_unitdir}/docker.socket +%dir /etc/docker + +%post +%systemd_post docker.service +if ! getent group docker > /dev/null; then + groupadd --system docker +fi + +%preun +%systemd_preun docker.service docker.socket + +%postun +%systemd_postun_with_restart docker.service + +%changelog @@ -0,0 +1 @@ +18518b5a66580389fc9aac1f61787ca9 engine.tgz |