diff --git a/0001-containerd-add-blot-symbol-to-support-loong64.patch b/0001-containerd-add-blot-symbol-to-support-loong64.patch new file mode 100644 index 0000000000000000000000000000000000000000..5c5d5faf056d8196912c58a33cd93fb683e7d406 --- /dev/null +++ b/0001-containerd-add-blot-symbol-to-support-loong64.patch @@ -0,0 +1,31 @@ +From ede7f7ed58d034507643a98aeca453dba0f497fb Mon Sep 17 00:00:00 2001 +From: build +Date: Thu, 5 Jan 2023 12:37:27 +0000 +Subject: [PATCH] containerd add blot symbol to support loong64 + +--- + vendor/go.etcd.io/bbolt/bolt_loong64.go | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + create mode 100644 vendor/go.etcd.io/bbolt/bolt_loong64.go + +diff --git a/vendor/go.etcd.io/bbolt/bolt_loong64.go b/vendor/go.etcd.io/bbolt/bolt_loong64.go +new file mode 100644 +index 0000000..bb402fb +--- /dev/null ++++ b/vendor/go.etcd.io/bbolt/bolt_loong64.go +@@ -0,0 +1,13 @@ ++// +build loong64 ++ ++package bbolt ++ ++// maxMapSize represents the largest mmap size supported by Bolt. ++const maxMapSize = 0x8000000000 // 512GB ++ ++// maxAllocSize is the size used when creating array pointers. ++const maxAllocSize = 0x7FFFFFFF ++ ++// Are unaligned load/stores broken on this arch? ++var brokenUnaligned = false ++ +-- +2.33.0 diff --git a/docker.spec b/docker.spec index 9ef130549f7cfb5cfb33cc908b7e282440f78add..2a1aeb1d8e5190f4fe6ca0a668075e10f14bcdb3 100644 --- a/docker.spec +++ b/docker.spec @@ -1,4 +1,4 @@ -%define anolis_release 1 +%define anolis_release 2 %global debug_package %{nil} %global _gitcommit_engine 1331b8c @@ -26,6 +26,8 @@ Source3: libnetwork-3f0048413d.tar.gz Source4: docker.service Source5: docker.socket +Patch001: 0001-containerd-add-blot-symbol-to-support-loong64.patch + Requires: %{name}-engine = %{version}-%{release} Requires: %{name}-client = %{version}-%{release} @@ -80,6 +82,9 @@ BuildRequires: systemd-devel BuildRequires: tar BuildRequires: which BuildRequires: golang +%ifarch loongarch64 +BuildRequires: golang-vendored-golang.org +%endif %description engine Docker daemon binary and related utilities @@ -97,8 +102,28 @@ Docker client binary and related utilities %prep %setup -q -n %{_source_client} %setup -q -T -n %{_source_engine} -b 1 +%ifarch loongarch64 +%patch001 -p1 +%endif %setup -q -T -n %{_source_docker_init} -b 2 %setup -q -T -n %{_source_docker_proxy} -b 3 +pwd +%ifarch loongarch64 +rm -rf %{_builddir}/%{_source_engine}/vendor/golang.org/x/sys +rm -rf %{_builddir}/%{_source_engine}/vendor/golang.org/x/net +cp -r /usr/share/golang/vendor/sys %{_builddir}/%{_source_engine}/vendor/golang.org/x/ +cp -r /usr/share/golang/vendor/net %{_builddir}/%{_source_engine}/vendor/golang.org/x/ + +rm -rf %{_builddir}/%{_source_client}/vendor/golang.org/x/sys +rm -rf %{_builddir}/%{_source_client}/vendor/golang.org/x/net +cp -r /usr/share/golang/vendor/sys %{_builddir}/%{_source_client}/vendor/golang.org/x/ +cp -r /usr/share/golang/vendor/net %{_builddir}/%{_source_client}/vendor/golang.org/x/ + +rm -rf %{_builddir}/%{_source_docker_proxy}/vendor/golang.org/x/sys +rm -rf %{_builddir}/%{_source_docker_proxy}/vendor/golang.org/x/net +cp -r /usr/share/golang/vendor/sys %{_builddir}/%{_source_docker_proxy}/vendor/golang.org/x/ +cp -r /usr/share/golang/vendor/net %{_builddir}/%{_source_docker_proxy}/vendor/golang.org/x/ +%endif %build export GO111MODULE=off @@ -206,6 +231,9 @@ fi %systemd_postun_with_restart docker.service %changelog +* Wed Sep 13 2023 Wenlong Zhang - 20.10.25-2 +- add loong64 support for docker + * Sat May 20 2023 Funda Wang - 20.10.25-1 - New version 20.10.25