add loongarch64 support for docker
This commit is contained in:
parent
5da7375d6f
commit
9cd20b596b
24
docker.spec
24
docker.spec
@ -1,6 +1,6 @@
|
|||||||
Name: docker-engine
|
Name: docker-engine
|
||||||
Version: 18.09.0
|
Version: 18.09.0
|
||||||
Release: 320
|
Release: 321
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Summary: The open-source application container engine
|
Summary: The open-source application container engine
|
||||||
Group: Tools/Docker
|
Group: Tools/Docker
|
||||||
@ -13,6 +13,10 @@ Source3: git-commit
|
|||||||
Source4: series.conf
|
Source4: series.conf
|
||||||
Source5: VERSION-vendor
|
Source5: VERSION-vendor
|
||||||
Source6: gen-commit.sh
|
Source6: gen-commit.sh
|
||||||
|
%ifarch loongarch64
|
||||||
|
Source7: net.tar.gz
|
||||||
|
Source8: sys.tar.gz
|
||||||
|
%endif
|
||||||
|
|
||||||
URL: https://mobyproject.org
|
URL: https://mobyproject.org
|
||||||
|
|
||||||
@ -67,6 +71,12 @@ export DOCKER_GITCOMMIT=$(cat git-commit | head -c 7)
|
|||||||
export AUTO_GOPATH=1
|
export AUTO_GOPATH=1
|
||||||
export DOCKER_BUILDTAGS="pkcs11 seccomp selinux"
|
export DOCKER_BUILDTAGS="pkcs11 seccomp selinux"
|
||||||
cd ${WORKDIR}/components/engine
|
cd ${WORKDIR}/components/engine
|
||||||
|
%ifarch loongarch64
|
||||||
|
rm -rf vendor/golang.org/x/sys
|
||||||
|
rm -rf vendor/golang.org/x/net
|
||||||
|
tar -xf %{SOURCE7} -C vendor/golang.org/x/
|
||||||
|
tar -xf %{SOURCE8} -C vendor/golang.org/x/
|
||||||
|
%endif
|
||||||
./hack/make.sh dynbinary
|
./hack/make.sh dynbinary
|
||||||
|
|
||||||
# buid docker cli
|
# buid docker cli
|
||||||
@ -75,6 +85,12 @@ mkdir -p .gopath/src/github.com/docker
|
|||||||
export GOPATH=`pwd`/.gopath
|
export GOPATH=`pwd`/.gopath
|
||||||
ln -sf `pwd` .gopath/src/github.com/docker/cli
|
ln -sf `pwd` .gopath/src/github.com/docker/cli
|
||||||
ln -sf ${WORKDIR}/components/engine .gopath/src/github.com/docker/docker
|
ln -sf ${WORKDIR}/components/engine .gopath/src/github.com/docker/docker
|
||||||
|
%ifarch loongarch64
|
||||||
|
rm -rf vendor/golang.org/x/sys
|
||||||
|
rm -rf vendor/golang.org/x/net
|
||||||
|
tar -xf %{SOURCE7} -C vendor/golang.org/x/
|
||||||
|
tar -xf %{SOURCE8} -C vendor/golang.org/x/
|
||||||
|
%endif
|
||||||
cd .gopath/src/github.com/docker/cli
|
cd .gopath/src/github.com/docker/cli
|
||||||
make dynbinary
|
make dynbinary
|
||||||
|
|
||||||
@ -213,6 +229,12 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 16 2023 zhaozhen <zhaozhen@loongson.cn> - 2:18.09.0-321
|
||||||
|
- Type:feature
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:add loongarch64 support for docker
|
||||||
|
|
||||||
* Wed Mar 15 2023 zhongjiawei<zhongjiawei1@huawei.com> - 18.09.0-320
|
* Wed Mar 15 2023 zhongjiawei<zhongjiawei1@huawei.com> - 18.09.0-320
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- CVE:NA
|
- CVE:NA
|
||||||
|
|||||||
BIN
net.tar.gz
Normal file
BIN
net.tar.gz
Normal file
Binary file not shown.
31
patch/0240-add-loong64-support-for-etcd.patch
Normal file
31
patch/0240-add-loong64-support-for-etcd.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
From 8617d4d44d055b19301a815ec070479d9e8e00ff Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhaozhen <zhaozhen@loongson.cn>
|
||||||
|
Date: Fri, 6 Jan 2023 01:20:46 +0000
|
||||||
|
Subject: [PATCH] add loong64 support for etcd
|
||||||
|
|
||||||
|
---
|
||||||
|
.../engine/vendor/go.etcd.io/bbolt/bolt_loong64.go | 12 ++++++++++++
|
||||||
|
1 file changed, 12 insertions(+)
|
||||||
|
create mode 100644 components/engine/vendor/go.etcd.io/bbolt/bolt_loong64.go
|
||||||
|
|
||||||
|
diff --git a/components/engine/vendor/go.etcd.io/bbolt/bolt_loong64.go b/components/engine/vendor/go.etcd.io/bbolt/bolt_loong64.go
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..aa8de7b1
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/components/engine/vendor/go.etcd.io/bbolt/bolt_loong64.go
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+// +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
|
||||||
|
|
||||||
26
patch/0241-add-loong64-support-for-netns.patch
Normal file
26
patch/0241-add-loong64-support-for-netns.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From d7e314f23e670513780f513c0bc95cff18d4bb05 Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhaozhen <zhaozhen@loongson.cn>
|
||||||
|
Date: Fri, 6 Jan 2023 01:41:35 +0000
|
||||||
|
Subject: [PATCH] add loong64 support for netns
|
||||||
|
|
||||||
|
---
|
||||||
|
.../github.com/vishvananda/netns/netns_linux_loong64.go | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
create mode 100644 components/engine/vendor/github.com/vishvananda/netns/netns_linux_loong64.go
|
||||||
|
|
||||||
|
diff --git a/components/engine/vendor/github.com/vishvananda/netns/netns_linux_loong64.go b/components/engine/vendor/github.com/vishvananda/netns/netns_linux_loong64.go
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..111209ae
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/components/engine/vendor/github.com/vishvananda/netns/netns_linux_loong64.go
|
||||||
|
@@ -0,0 +1,7 @@
|
||||||
|
+// +build linux,loong64
|
||||||
|
+
|
||||||
|
+package netns
|
||||||
|
+
|
||||||
|
+const (
|
||||||
|
+ SYS_SETNS = 268
|
||||||
|
+)
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
130
patch/0242-add-loong64-support-for-sysx.patch
Normal file
130
patch/0242-add-loong64-support-for-sysx.patch
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
From 0e857e82b631413f818407ff97cd76698b08e9ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhaozhen <zhaozhen@loongson.cn>
|
||||||
|
Date: Fri, 6 Jan 2023 02:01:20 +0000
|
||||||
|
Subject: [PATCH] add loong64 support for sysx
|
||||||
|
|
||||||
|
---
|
||||||
|
.../continuity/sysx/xattr_linux_loong64.go | 111 ++++++++++++++++++
|
||||||
|
1 file changed, 111 insertions(+)
|
||||||
|
create mode 100644 components/cli/vendor/github.com/containerd/continuity/sysx/xattr_linux_loong64.go
|
||||||
|
|
||||||
|
diff --git a/components/cli/vendor/github.com/containerd/continuity/sysx/xattr_linux_loong64.go b/components/cli/vendor/github.com/containerd/continuity/sysx/xattr_linux_loong64.go
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..dec46faa
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/components/cli/vendor/github.com/containerd/continuity/sysx/xattr_linux_loong64.go
|
||||||
|
@@ -0,0 +1,111 @@
|
||||||
|
+// mksyscall.pl xattr_linux.go
|
||||||
|
+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||||||
|
+
|
||||||
|
+package sysx
|
||||||
|
+
|
||||||
|
+import (
|
||||||
|
+ "syscall"
|
||||||
|
+ "unsafe"
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
+
|
||||||
|
+func llistxattr(path string, dest []byte) (sz int, err error) {
|
||||||
|
+ var _p0 *byte
|
||||||
|
+ _p0, err = syscall.BytePtrFromString(path)
|
||||||
|
+ if err != nil {
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
+ var _p1 unsafe.Pointer
|
||||||
|
+ if len(dest) > 0 {
|
||||||
|
+ _p1 = unsafe.Pointer(&dest[0])
|
||||||
|
+ } else {
|
||||||
|
+ _p1 = unsafe.Pointer(&_zero)
|
||||||
|
+ }
|
||||||
|
+ r0, _, e1 := syscall.Syscall(syscall.SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
|
||||||
|
+ use(unsafe.Pointer(_p0))
|
||||||
|
+ sz = int(r0)
|
||||||
|
+ if e1 != 0 {
|
||||||
|
+ err = errnoErr(e1)
|
||||||
|
+ }
|
||||||
|
+ return
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
+
|
||||||
|
+func lremovexattr(path string, attr string) (err error) {
|
||||||
|
+ var _p0 *byte
|
||||||
|
+ _p0, err = syscall.BytePtrFromString(path)
|
||||||
|
+ if err != nil {
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
+ var _p1 *byte
|
||||||
|
+ _p1, err = syscall.BytePtrFromString(attr)
|
||||||
|
+ if err != nil {
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
+ _, _, e1 := syscall.Syscall(syscall.SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
|
||||||
|
+ use(unsafe.Pointer(_p0))
|
||||||
|
+ use(unsafe.Pointer(_p1))
|
||||||
|
+ if e1 != 0 {
|
||||||
|
+ err = errnoErr(e1)
|
||||||
|
+ }
|
||||||
|
+ return
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
+
|
||||||
|
+func lsetxattr(path string, attr string, data []byte, flags int) (err error) {
|
||||||
|
+ var _p0 *byte
|
||||||
|
+ _p0, err = syscall.BytePtrFromString(path)
|
||||||
|
+ if err != nil {
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
+ var _p1 *byte
|
||||||
|
+ _p1, err = syscall.BytePtrFromString(attr)
|
||||||
|
+ if err != nil {
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
+ var _p2 unsafe.Pointer
|
||||||
|
+ if len(data) > 0 {
|
||||||
|
+ _p2 = unsafe.Pointer(&data[0])
|
||||||
|
+ } else {
|
||||||
|
+ _p2 = unsafe.Pointer(&_zero)
|
||||||
|
+ }
|
||||||
|
+ _, _, e1 := syscall.Syscall6(syscall.SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
|
||||||
|
+ use(unsafe.Pointer(_p0))
|
||||||
|
+ use(unsafe.Pointer(_p1))
|
||||||
|
+ if e1 != 0 {
|
||||||
|
+ err = errnoErr(e1)
|
||||||
|
+ }
|
||||||
|
+ return
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
+
|
||||||
|
+func lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
|
||||||
|
+ var _p0 *byte
|
||||||
|
+ _p0, err = syscall.BytePtrFromString(path)
|
||||||
|
+ if err != nil {
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
+ var _p1 *byte
|
||||||
|
+ _p1, err = syscall.BytePtrFromString(attr)
|
||||||
|
+ if err != nil {
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
+ var _p2 unsafe.Pointer
|
||||||
|
+ if len(dest) > 0 {
|
||||||
|
+ _p2 = unsafe.Pointer(&dest[0])
|
||||||
|
+ } else {
|
||||||
|
+ _p2 = unsafe.Pointer(&_zero)
|
||||||
|
+ }
|
||||||
|
+ r0, _, e1 := syscall.Syscall6(syscall.SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
|
||||||
|
+ use(unsafe.Pointer(_p0))
|
||||||
|
+ use(unsafe.Pointer(_p1))
|
||||||
|
+ sz = int(r0)
|
||||||
|
+ if e1 != 0 {
|
||||||
|
+ err = errnoErr(e1)
|
||||||
|
+ }
|
||||||
|
+ return
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -237,4 +237,7 @@ patch/0236-docker-set-freezer.state-to-Thawed-to-increase-freez.patch
|
|||||||
patch/0237-docker-stats-fix-panic.patch
|
patch/0237-docker-stats-fix-panic.patch
|
||||||
patch/0238-docker-fix-container-missing-after-restarting-docker.patch
|
patch/0238-docker-fix-container-missing-after-restarting-docker.patch
|
||||||
patch/0239-docker-try-http-for-docker-manifest-insecure.patch
|
patch/0239-docker-try-http-for-docker-manifest-insecure.patch
|
||||||
|
patch/0240-add-loong64-support-for-etcd.patch
|
||||||
|
patch/0241-add-loong64-support-for-netns.patch
|
||||||
|
patch/0242-add-loong64-support-for-sysx.patch
|
||||||
#end
|
#end
|
||||||
|
|||||||
BIN
sys.tar.gz
Normal file
BIN
sys.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user