Source: gitlab-shell
Version: 14.35.0+ds1-2
Severity: normal
Tags: patch
User: debian-loonga...@lists.debian.org
Usertags: loong64

Dear maintainers,

Compiling the gitlab-shell failed for loong64 in the Debian Package Auto-Building environment.
The error log is as follows,
```
# gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:20:10: undefined: _BC_BASE_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:22:10: undefined: _BC_DIM_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:24:10: undefined: _BC_SCALE_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:26:10: undefined: _BC_STRING_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:28:10: undefined: _COLL_WEIGHTS_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:30:10: undefined: _EXPR_NEST_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:32:10: undefined: _HOST_NAME_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:34:10: undefined: _LINE_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:36:10: undefined: _LOGIN_NAME_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/vendor/github.com/tklauser/go-sysconf/sysconf_generic.go:40:10: undefined: _RE_DUP_MAX src/gitlab.com/gitlab-org/gitlab-shell/v14/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-shell&arch=loong64&ver=14.35.0%2Bds1-2&stamp=1742468622&raw=0.

After analyzing, I found that go.mod is ignored and only use system file.
Consistent build phenomena for gitlab and gitlab-shell.

Please consider the patch I attached.
- For gitlab-shell(attached patch gitlab-shell-update-go.mod.patch)
optional: 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.10 is too old which do not support loong64. need to add loong64 support(vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_loong64.go) to verdor directory in gitaly source package. Or update upstream for gitaly.

Based on my local gitlay(re-install golang-gitlab-gitlab-org-gitaly-dev with loong64 support in my system), gitlab-shell was built successfully on locally.

All in all, please add loong64 support in gitaly first(use upstream v0.3.15 or add extra patch). Then, please consider regenerating go.mod and go.sum for gitaly and gitlab-shell source package.
Your opinions are welcome.

Best regards,
Dandan Zhang

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
+)
Description: Update github.com/tklauser/go-sysconf's version in go.mod and go.sum 
 .
 gitlab-shell (14.35.0+ds1-2+loong64) unstable; urgency=medium
 .
   * Update github.com/tklauser/go-sysconf's version in go.mod and go.sum
Author: Dandan Zhang <zhangdan...@loongson.cn>

---
Last-Update: 2025-05-09

--- gitlab-shell-14.35.0+ds1.orig/go.mod
+++ gitlab-shell-14.35.0+ds1/go.mod
@@ -1,6 +1,8 @@
 module gitlab.com/gitlab-org/gitlab-shell/v14
 
-go 1.20
+go 1.23.0
+
+toolchain go1.24.1
 
 require (
 	github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240402115927-f0b226fa61cc
@@ -79,8 +81,8 @@ require (
 	github.com/sebest/xff v0.0.0-20210106013422-671bd2870b3a // indirect
 	github.com/shirou/gopsutil/v3 v3.22.8 // indirect
 	github.com/tinylib/msgp v1.1.2 // indirect
-	github.com/tklauser/go-sysconf v0.3.10 // indirect
-	github.com/tklauser/numcpus v0.4.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
@@ -94,7 +96,7 @@ require (
 	golang.org/x/mod v0.14.0 // indirect
 	golang.org/x/net v0.22.0 // indirect
 	golang.org/x/oauth2 v0.17.0 // indirect
-	golang.org/x/sys v0.18.0 // indirect
+	golang.org/x/sys v0.33.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
 	golang.org/x/time v0.5.0 // indirect
 	golang.org/x/tools v0.17.0 // indirect
--- gitlab-shell-14.35.0+ds1.orig/go.sum
+++ gitlab-shell-14.35.0+ds1/go.sum
@@ -354,9 +354,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.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw=
 github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
+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.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o=
 github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
+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=
@@ -590,6 +594,8 @@ golang.org/x/sys v0.9.0/go.mod h1:oPkhp1
 golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
 golang.org/x/sys v0.18.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=

Reply via email to