Source: gitlab
Version: 17.6.5-15
Severity: normal
Tags: patch
User: debian-loonga...@lists.debian.org
Usertags: loong64
Dear maintainers,
Compiling the gitlab failed for loong64 in the Debian Package
Auto-Building environment.
The error log is as follows,
```
# gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:20:10:
undefined: _BC_BASE_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:22:10:
undefined: _BC_DIM_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:24:10:
undefined: _BC_SCALE_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:26:10:
undefined: _BC_STRING_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:28:10:
undefined: _COLL_WEIGHTS_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:30:10:
undefined: _EXPR_NEST_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:32:10:
undefined: _HOST_NAME_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:34:10:
undefined: _LINE_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:36:10:
undefined: _LOGIN_NAME_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:40:10:
undefined: _RE_DUP_MAX
src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:40:10:
too many errors
```
The full build log can be found at
https://buildd.debian.org/status/fetch.php?pkg=gitlab&arch=loong64&ver=17.6.5-15&stamp=1746215926&raw=0.
After analyzing, I found that go.mod is ignored and only use system
file, for examples,
```
gitlab-17.6.5# ls -al
_build/src/gitlab.com/gitlab-org/gitlab/vendor/github.com/tklauser/go-sysconf
|grep tklauser
lrwxrwxrwx 1 root root 108 4月 3日 21:08 example_test.go ->
/usr/share/gocode/src/gitlab.com/gitlab-org/gitaly/v16/vendor/github.com/tklauser/go-sysconf/example_test.go
lrwxrwxrwx 1 root root 105 4月 3日 21:08 mksysconf.go ->
/usr/share/gocode/src/gitlab.com/gitlab-org/gitaly/v16/vendor/github.com/tklauser/go-sysconf/mksysconf.go
lrwxrwxrwx 1 root root 107 4月 3日 21:08 sysconf_bsd.go ->
/usr/share/gocode/src/gitlab.com/gitlab-org/gitaly/v16/vendor/github.com/tklauser/go-sysconf/sysconf_bsd.go
......
lrwxrwxrwx 1 root root 111 4月 3日 21:08 sysconf_generic.go ->
/usr/share/gocode/src/gitlab.com/gitlab-org/gitaly/v16/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go
```
The file
/usr/share/gocode/src/gitlab.com/gitlab-org/gitaly/v16/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go
is provided by golang-gitlab-gitlab-org-gitaly-dev(gitaly).
Please consider the patch I attached.
- For gitlab(attached patch gitlab-update-go.mod.patch)
need to update github.com/tklauser/go-sysconf's version in go.mod and
go.sum.
loong64 was supported in release
https://github.com/tklauser/go-sysconf/blob/v0.3.15.
- For gitaly(attached patch
gitaly-update-tklauser-go-sysconf-for-loong64.patch)
use vendor in gitaly source package.
github.com/tklauser/go-sysconf v0.3.9 is too old which do not support
loong64.
I tested that I use github.com/tklauser/go-sysconf v0.3.15 is not useful
in go.mod.
Based on the attached patch
gitaly-update-tklauser-go-sysconf-for-loong64.patch(need to add patch
for vendor directory), gitlay was built successfully on locally.
Based on my local gitlay(re-install golang-gitlab-gitlab-org-gitaly-dev
with loong64 support in my system), gitlab was built successfully on
locally.
BTW, I suggest regenerating go.mod and go.sum for gitaly and gitlab
source package.
Your opinions are welcome.
Best regards,
Dandan Zhang
Description: Update github.com/tklauser/go-sysconf's version in go.mod and go.sum
.
gitlab (17.6.5-15+loong64) unstable; urgency=medium
.
* Update github.com/tklauser/go-sysconf's version in go.mod and go.sum
Author: Dandan Zhang
---
Last-Update: 2025-05-08
--- gitlab-17.6.5.orig/workhorse/go.mod
+++ gitlab-17.6.5/workhorse/go.mod
@@ -1,8 +1,8 @@
module gitlab.com/gitlab-org/gitlab/workhorse
-go 1.22
+go 1.23.0
-toolchain go1.22.6
+toolchain go1.24.1
require (
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.1
@@ -119,8 +119,8 @@ require (
github.com/shabbyrobe/gocovmerge v0.0.0-20230507112040-c3350d9342df // indirect
github.com/shirou/gopsutil/v3 v3.21.12 // indirect
github.com/tinylib/msgp v1.1.2 // indirect
- github.com/tklauser/go-sysconf v0.3.9 // indirect
- github.com/tklauser/numcpus v0.3.0 // indirect
+ github.com/tklauser/go-sysconf v0.3.15 // indirect
+ github.com/tklauser/numcpus v0.10.0 // indirect
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
@@ -135,7 +135,7 @@ require (
golang.org/x/crypto v0.28.0 // indirect
golang.org/x/mod v0.20.0 // indirect
golang.org/x/sync v0.8.0 // indirect
- golang.org/x/sys v0.26.0 // indirect
+ golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.19.0 // indirect
golang.org/x/time v0.6.0 // indirect
golang.org/x/tools v0.24.0 // indirect
--- gitlab-17.6.5.orig/workhorse/go.sum
+++ gitlab-17.6.5/workhorse/go.sum
@@ -464,11 +464,13 @@ github.com/stretchr/testify v1.9.0/go.mo
github.com/tinylib/msgp v1.1.2 h1:gWmO7n0Ys2RBEb7GPYB9Ujq8Mk5p2U08lRnmMcGy6BQ=
github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
github.com/tklauser/go-sysconf v0.3.4/go.mod h1:Cl2c8ZRWfHD5IrfHo9VN+FX9kCFjIOyVklgXycLB6ek=
-github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev3vTo=
github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs=
+github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4=
+github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4=
github.com/tklauser/numcpus v0.2.1/go.mod h1:9aU+wOc6WjUIZEwWMP62PL/41d65P+iks1gBkr4QyP8=
-github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ=
github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8=
+github.com/tklauser/numcpus v0.10.0 h1:18njr6LDBk1zuna922MgdjQuJFjrdppsZG60sHGfjso=
+github.com/tklauser/numcpus v0.10.0/go.mod h1:BiTKazU708GQTYF4mB+cmlpT2Is1gLk7XVuEeem8LsQ=
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
@@ -717,8 +719,8 @@ golang.org/x/sys v0.7.0/go.mod h1:oPkhp1
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
-golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
+golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
Description: Add loongarch64 support
.
gitaly (16.11.6+ds1-4+loong64) unstable; urgency=medium
.
* Add loongarch64(go arch is loong64) support.
Author: Dandan Zhang <zhangdan...@loongson.cn>
---
Last-Update: 2025-05-08
--- gitaly-16.11.6+ds1.orig/go.mod
+++ gitaly-16.11.6+ds1/go.mod
@@ -1,6 +1,8 @@
module gitlab.com/gitlab-org/gitaly/v16
-go 1.21
+go 1.23.0
+
+toolchain go1.24.1
// It is a temporary solution, please see https://gitlab.com/gitlab-org/gitaly/-/issues/4423 for details.
replace github.com/go-enry/go-license-detector/v4 => github.com/gl-gitaly/go-license-detector/v4 v4.0.0-20230524080836-4cc9a3796917
@@ -43,7 +45,7 @@ require (
golang.org/x/crypto v0.22.0
golang.org/x/exp v0.0.0-20240119083558-1b970713d09a
golang.org/x/sync v0.6.0
- golang.org/x/sys v0.19.0
+ golang.org/x/sys v0.33.0
golang.org/x/text v0.14.0
golang.org/x/time v0.5.0
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7
@@ -181,8 +183,8 @@ require (
github.com/skeema/knownhosts v1.2.1 // indirect
github.com/ssgelm/cookiejarparser v1.0.1 // indirect
github.com/tinylib/msgp v1.1.2 // indirect
- github.com/tklauser/go-sysconf v0.3.9 // indirect
- github.com/tklauser/numcpus v0.3.0 // indirect
+ github.com/tklauser/go-sysconf v0.3.15 // indirect
+ github.com/tklauser/numcpus v0.10.0 // indirect
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
--- gitaly-16.11.6+ds1.orig/go.sum
+++ gitaly-16.11.6+ds1/go.sum
@@ -584,9 +584,13 @@ github.com/tinylib/msgp v1.1.2/go.mod h1
github.com/tklauser/go-sysconf v0.3.4/go.mod h1:Cl2c8ZRWfHD5IrfHo9VN+FX9kCFjIOyVklgXycLB6ek=
github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev3vTo=
github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs=
+github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4=
+github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4=
github.com/tklauser/numcpus v0.2.1/go.mod h1:9aU+wOc6WjUIZEwWMP62PL/41d65P+iks1gBkr4QyP8=
github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ=
github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8=
+github.com/tklauser/numcpus v0.10.0 h1:18njr6LDBk1zuna922MgdjQuJFjrdppsZG60sHGfjso=
+github.com/tklauser/numcpus v0.10.0/go.mod h1:BiTKazU708GQTYF4mB+cmlpT2Is1gLk7XVuEeem8LsQ=
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
@@ -848,6 +852,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
+golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
--- /dev/null
+++ gitaly-16.11.6+ds1/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_loong64.go
@@ -0,0 +1,113 @@
+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
+// cgo -godefs sysconf_values_linux.go
+
+//go:build linux && loong64
+
+package sysconf
+
+const (
+ _AIO_PRIO_DELTA_MAX = 0x14
+ _BC_BASE_MAX = 0x63
+ _BC_DIM_MAX = 0x800
+ _BC_SCALE_MAX = 0x63
+ _BC_STRING_MAX = 0x3e8
+ _COLL_WEIGHTS_MAX = 0xff
+ _DELAYTIMER_MAX = 0x7fffffff
+ _EXPR_NEST_MAX = 0x20
+ _HOST_NAME_MAX = 0x40
+ _LINE_MAX = 0x800
+ _LOGIN_NAME_MAX = 0x100
+ _MQ_PRIO_MAX = 0x8000
+ _NGROUPS_MAX = 0x10000
+ _NSS_BUFLEN_GROUP = 0x400
+ _NSS_BUFLEN_PASSWD = 0x400
+ _OPEN_MAX = 0x100
+ _PTHREAD_KEYS_MAX = 0x400
+ _PTHREAD_STACK_MIN = 0x20000
+ _RE_DUP_MAX = 0x7fff
+ _RTSIG_MAX = 0x20
+ _SEM_VALUE_MAX = 0x7fffffff
+ _STREAM_MAX = 0x10
+ _SYMLOOP_MAX = -0x1
+ _TTY_NAME_MAX = 0x20
+
+ _UIO_MAXIOV = 0x400
+
+ _INT_MAX = 0x7fffffff
+
+ _POSIX_ADVISORY_INFO = 0x31069
+ _POSIX_ARG_MAX = 0x1000
+ _POSIX_ASYNCHRONOUS_IO = 0x31069
+ _POSIX_BARRIERS = 0x31069
+ _POSIX_CHILD_MAX = 0x19
+ _POSIX_CLOCK_SELECTION = 0x31069
+ _POSIX_CPUTIME = 0x0
+ _POSIX_FSYNC = 0x31069
+ _POSIX_IPV6 = 0x31069
+ _POSIX_JOB_CONTROL = 0x1
+ _POSIX_MAPPED_FILES = 0x31069
+ _POSIX_MEMLOCK = 0x31069
+ _POSIX_MEMLOCK_RANGE = 0x31069
+ _POSIX_MEMORY_PROTECTION = 0x31069
+ _POSIX_MESSAGE_PASSING = 0x31069
+ _POSIX_MONOTONIC_CLOCK = 0x0
+ _POSIX_PRIORITIZED_IO = 0x31069
+ _POSIX_PRIORITY_SCHEDULING = 0x31069
+ _POSIX_RAW_SOCKETS = 0x31069
+ _POSIX_READER_WRITER_LOCKS = 0x31069
+ _POSIX_REALTIME_SIGNALS = 0x31069
+ _POSIX_REGEXP = 0x1
+ _POSIX_SAVED_IDS = 0x1
+ _POSIX_SEMAPHORES = 0x31069
+ _POSIX_SHARED_MEMORY_OBJECTS = 0x31069
+ _POSIX_SHELL = 0x1
+ _POSIX_SIGQUEUE_MAX = 0x20
+ _POSIX_SPAWN = 0x31069
+ _POSIX_SPIN_LOCKS = 0x31069
+ _POSIX_SPORADIC_SERVER = -0x1
+ _POSIX_SYNCHRONIZED_IO = 0x31069
+ _POSIX_THREAD_ATTR_STACKADDR = 0x31069
+ _POSIX_THREAD_ATTR_STACKSIZE = 0x31069
+ _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
+ _POSIX_THREAD_PRIO_INHERIT = 0x31069
+ _POSIX_THREAD_PRIO_PROTECT = 0x31069
+ _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
+ _POSIX_THREAD_PROCESS_SHARED = 0x31069
+ _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
+ _POSIX_THREAD_SPORADIC_SERVER = -0x1
+ _POSIX_THREADS = 0x31069
+ _POSIX_TIMEOUTS = 0x31069
+ _POSIX_TIMERS = 0x31069
+ _POSIX_TRACE = -0x1
+ _POSIX_TRACE_EVENT_FILTER = -0x1
+ _POSIX_TRACE_INHERIT = -0x1
+ _POSIX_TRACE_LOG = -0x1
+ _POSIX_TYPED_MEMORY_OBJECTS = -0x1
+ _POSIX_VERSION = 0x31069
+
+ _POSIX_V7_ILP32_OFF32 = -0x1
+ _POSIX_V7_ILP32_OFFBIG = -0x1
+ _POSIX_V7_LP64_OFF64 = 0x1
+ _POSIX_V7_LPBIG_OFFBIG = -0x1
+
+ _POSIX_V6_ILP32_OFF32 = -0x1
+ _POSIX_V6_ILP32_OFFBIG = -0x1
+ _POSIX_V6_LP64_OFF64 = 0x1
+ _POSIX_V6_LPBIG_OFFBIG = -0x1
+
+ _POSIX2_C_BIND = 0x31069
+ _POSIX2_C_DEV = 0x31069
+ _POSIX2_C_VERSION = 0x31069
+ _POSIX2_CHAR_TERM = 0x31069
+ _POSIX2_LOCALEDEF = 0x31069
+ _POSIX2_SW_DEV = 0x31069
+ _POSIX2_VERSION = 0x31069
+
+ _XOPEN_ENH_I18N = 0x1
+ _XOPEN_REALTIME = 0x1
+ _XOPEN_REALTIME_THREADS = 0x1
+ _XOPEN_SHM = 0x1
+ _XOPEN_UNIX = 0x1
+ _XOPEN_VERSION = 0x2bc
+ _XOPEN_XCU_VERSION = 0x4
+)