diff options
author | CoprDistGit <infra@openeuler.org> | 2024-09-12 04:52:22 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-09-12 04:52:22 +0000 |
commit | 855fbc6d18199af89ff5f930255ce2932c4184eb (patch) | |
tree | 566d6b6db68d011cc4f140ca96e121f57ac9d7ee /moby.spec | |
parent | f779b1024cb29a57bfbde65747462e0210019be7 (diff) |
automatic import of docker
Diffstat (limited to 'moby.spec')
-rw-r--r-- | moby.spec | 283 |
1 files changed, 283 insertions, 0 deletions
diff --git a/moby.spec b/moby.spec new file mode 100644 index 0000000..08d0333 --- /dev/null +++ b/moby.spec @@ -0,0 +1,283 @@ +%global _gitcommit_engine f417435 +%global _gitcommit_cli 4debf41 +%global _source_engine moby-%{version} +%global _source_client cli-%{version} +%global _source_docker_init tini-0.19.0 +%define _debugsource_template %{nil} + +Name: docker +Version: 27.2.1 +Release: 1 +Summary: The open-source application container engine +License: ASL 2.0 +URL: https://www.docker.com +# https://github.com/docker/cli/archive/refs/tags/v25.0.3.tar.gz +Source0: cli-%{version}.tar.gz +# https://github.com/moby/moby/archive/refs/tags/v25.0.3.tar.gz +Source1: moby-%{version}.tar.gz +# https://github.com/krallin/tini/archive/refs/tags/v0.19.0.tar.gz +Source2: tini-0.19.0.tar.gz +Source3: docker.service +Source4: docker.socket +Source5: docker.sysconfig +Patch0002: 0003-add-loongarch64-seccomp-support.patch +Patch0003: 0004-fix-docker-swarm-run-failed-for-loongarch64.patch + +Requires: %{name}-engine = %{version}-%{release} +Requires: %{name}-client = %{version}-%{release} + +# conflicting packages +Conflicts: docker-ce +Conflicts: docker-io +Conflicts: docker-engine-cs +Conflicts: docker-ee + +%description +Docker is a product for you to build, ship and run any application as a +lightweight container. + +%package engine +Summary: Docker daemon binary and related utilities + +Requires: /usr/sbin/groupadd +Requires: runc +Requires: container-selinux >= 2:2.74 +Requires: libseccomp >= 2.3 +Requires: systemd +Requires: iptables +Requires: libcgroup +Requires: containerd +Requires: tar +Requires: xz + +BuildRequires: bash +BuildRequires: ca-certificates +BuildRequires: cmake +BuildRequires: device-mapper-devel +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 +BuildRequires: golang >= 1.21.0 + +%description engine +Docker daemon binary and related utilities + +%package client +Summary: Docker client binary and related utilities + +Requires: /bin/sh +BuildRequires: libtool-ltdl-devel + +%description client +Docker client binary and related utilities + +%prep +%setup -q -n %{_source_client} +%setup -q -T -n %{_source_engine} -b 1 +%patch -P0002 -p1 +%patch -P0003 -p1 +%setup -q -T -n %{_source_docker_init} -b 2 + +%build +export GO111MODULE=off +# build docker daemon +export DOCKER_GITCOMMIT=%{_gitcommit_engine} +export DOCKER_BUILDTAGS="exclude_graphdriver_btrfs" + +pushd %{_builddir}/%{_source_engine} +AUTO_GOPATH=1 VERSION=%{version} PRODUCT=docker hack/make.sh dynbinary +popd + +# build docker-tini +pushd %{_builddir}/%{_source_docker_init} +cmake . +make tini-static +popd + +# build cli +pushd %{_builddir}/%{_source_client} +mkdir -p .gopath/src/github.com/docker/cli +export GOPATH=`pwd`/.gopath +rm -rf .gopath/src/github.com/docker/cli +ln -s %{_builddir}/%{_source_client} .gopath/src/github.com/docker/cli +pushd .gopath/src/github.com/docker/cli +DISABLE_WARN_OUTSIDE_CONTAINER=1 make VERSION=%{version} GITCOMMIT=%{_gitcommit_cli} dynbinary +popd +popd + +%check +# check for daemon +ver="$(%{_builddir}/%{_source_engine}/bundles/dynbinary-daemon/dockerd --version)"; \ + test "$ver" = "Docker version %{version}, build %{_gitcommit_engine}" && echo "PASS: daemon version OK" || (echo "FAIL: daemon version ($ver) did not match" && exit 1) +# check for client +ver="$(%{_builddir}/%{_source_client}/build/docker --version)"; \ + test "$ver" = "Docker version %{version}, build %{_gitcommit_cli}" && echo "PASS: cli version OK" || (echo "FAIL: cli version ($ver) did not match" && exit 1) + + +%install +# install daemon binary +install -D -p -m 0755 $(readlink -f %{_builddir}/%{_source_engine}/bundles/dynbinary-daemon/dockerd) %{buildroot}%{_bindir}/dockerd + +# install proxy +install -D -p -m 0755 %{_builddir}/%{_source_engine}/bundles/dynbinary-daemon/docker-proxy %{buildroot}%{_bindir}/docker-proxy + +# install tini +install -D -p -m 755 %{_builddir}/%{_source_docker_init}/tini-static %{buildroot}%{_bindir}/docker-init + +# install systemd scripts +install -D -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/docker.service +install -D -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/docker.socket + +# for additional args +install -Dpm 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/docker + +# install docker client +install -p -m 0755 $(readlink -f %{_builddir}/%{_source_client}/build/docker) %{buildroot}%{_bindir}/docker + +# add bash, zsh, and fish completions +install -d %{buildroot}%{_datadir}/bash-completion/completions +install -d %{buildroot}%{_datadir}/zsh/vendor-completions +install -d %{buildroot}%{_datadir}/fish/vendor_completions.d +install -p -m 644 %{_builddir}/%{_source_client}/contrib/completion/bash/docker %{buildroot}%{_datadir}/bash-completion/completions/docker +install -p -m 644 %{_builddir}/%{_source_client}/contrib/completion/zsh/_docker %{buildroot}%{_datadir}/zsh/vendor-completions/_docker +install -p -m 644 %{_builddir}/%{_source_client}/contrib/completion/fish/docker.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/docker.fish + +# add docs +install -d %{buildroot}%{_pkgdocdir} +install -p -m 644 %{_builddir}/%{_source_client}/{LICENSE,MAINTAINERS,NOTICE,README.md} %{buildroot}%{_pkgdocdir} + +%files +# empty as it depends on engine and client + +%files engine +%config(noreplace) %{_sysconfdir}/sysconfig/docker +%{_bindir}/dockerd +%{_bindir}/docker-proxy +%{_bindir}/docker-init +%{_unitdir}/docker.service +%{_unitdir}/docker.socket + +%files client +%{_bindir}/docker +%{_datadir}/bash-completion/completions/docker +%{_datadir}/zsh/vendor-completions/_docker +%{_datadir}/fish/vendor_completions.d/docker.fish +%doc %{_pkgdocdir} + +%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 +* Thu Sep 12 2024 Funda Wang <fundawang@yeah.net> - 27.2.1-1 +- update to version 27.2.1 + +* Fri Jul 26 2024 zhangxianting <zhangxianting@uniontechc.om> - 25.0.3-10 +- Type:CVE +- ID:NA +- SUG:NA +- DESC:fix CVE-2024-41110 + +* Fri Jul 12 2024 lvxiangcong <lvxiangcong@kylinos.cn> - 25.0.3-9 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix docker swarm run failed for loongarch64 + +* Tue Jul 02 2024 zhangbowei<zhangbowei@kylinos.cn> - 25.0.3-8 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix bug by using docker-proxy in the source file to get better compatibility + +* Fri Jun 28 2024 shechenglong<shechenglong@xfusion.com> - 25.0.3-7 +- DESC:software package name moby is changed to docker + +* Fri Jun 14 2024 zhaixiaojuan<zhaixiaojuan@loongson.cn> - 25.0.3-6 +- DESC:add loongarch64 seccomp support + +* Tue May 14 2024 wanglimin<wanglimin@xfusion.com> - 25.0.3-5 +- DESC:clean dependency between engine and cli + +* Sat May 11 2024 lvxiangcong<lvxiangcong@kylinos.cn> - 25.0.3-4 +- DESC:fix install error failed to docker.service does not exit + +* Mon Apr 22 2024 lvxiangcong<lvxiangcong@kylinos.cn> - 25.0.3-3 +- DESC:fix cve-2024-32473 + +* Wed Apr 17 2024 lvxiangcong<lvxiangcong@kylinos.cn> - 25.0.3-2 +- DESC:fix cve-2024-29018 + +* Tue Feb 06 2024 shechenglong<shechenglong@xfusion.com> - 25.0.3-1 +- DESC:update to 25.0.3 + +* Thu Dec 28 2023 maokecheng<maokecheng@xfusion.com> - 20.10.24-7 +- Adapt docker-runc to be changed to runc + +* Tue Sep 26 2023 xulei<xulei@xfusion.com> - 20.10.24-6 +- Fix the missing socketGroup permissions for only installing moby-engine + +* Mon Sep 18 2023 xulei<xulei@xfusion.com> - 20.10.24-5 +- Optimize the apply patch method + +* Thu Sep 14 2023 xulei<xulei@xfusion.com> - 20.10.24-4 +- DESC: Fix missing runc dependencies + The declaration conflicts with the installation of docker-engine + +* Mon Sep 4 2023 xulei<xulei@xfusion.com> - 20.10.24-3 +- Fix the conflict libnetwork installation + +* Sun Jul 16 2023 xulei<xulei@xfusion.com> - 20.10.24-2 +- DESC: fix non-blocking awslogs log drop bug + fix panic if mount is not a volume + +* Mon Apr 10 2023 xulei<xulei@xfusion.com> - 20.10.24-1 +- DESC: update to 20.10.24 + +* Tue Apr 4 2023 zhangzhihui<zhangzhihui@xfusion.com> - 20.10.23-3 +- DESC: sync upstream patch + Dockerfile: configure code dir as "safe" directory + +* Fri Mar 31 2023 zhangzhihui<zhangzhihui@xfusion.com> - 20.10.23-2 +- DESC: sync upstream patch to update containerd to v1.6.16 + +* Wed Mar 29 2023 xulei<xulei@xfusion.com> - 20.10.23-1 +- DESC:update to 20.10.23 + +* Wed Mar 8 2023 xulei<xulei@xfusion.com> - 20.10.21-4 +- DESC: enhance container behavior + 1.stop docker.socket before uninstall docker. + 2.container keep running when restart docker service. + 3.when containerd exits abnormally, it can be automatically pulled up. + 4.add some dockerd options. + 5.change to BuildRequires golang-1.18.0 + +* Wed Dec 28 2022 xulei<xulei@xfusion.com> - 20.10.21-3 +- DESC: change to BuildRequires golang-1.17.3 + +* Wed Dec 21 2022 wanglimin<wanglimin@xfusion.com> - 20.10.21-2 +- DESC: revert any to interface{} temporarily to allow builtable with golang-1.17.x +- it will be withdrawed if golang upgrade to 1.18.x in the branch + +* Thu Dec 14 2022 wanglimin<wanglimin@xfusion.com> - 20.10.21-1 +- DESC: initial docker-20.10.21-1 |