All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/distribution-registry: fix build on i386
@ 2025-11-17 19:18 Yann E. MORIN via buildroot
  2025-11-17 19:19 ` Yann E. MORIN via buildroot
  0 siblings, 1 reply; 3+ messages in thread
From: Yann E. MORIN via buildroot @ 2025-11-17 19:18 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

The S3 storage drivers defines the maximum size of a chunk to a value
thqt does not fit in the native integer on 32-bit architectures. This
causes build failures:

    registry/storage/driver/s3-aws/s3.go:312:99: cannot use maxChunkSize
    (untyped int constant 5368709120) as int value in argument to
    getParameterAsInteger (overflows)

Ideally, we'd like to use a build tag that refers to whether the
architecture is 32- or 64-bit, but there is no such flag. Sigh...

Instead, backport a patch from upstream that papers over the issue, by
usig the i386 build tag (of course, that still misses other 32-bit
archs, but are they really relevant in this case?).

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 .../0001-s3-aws-fix-build-for-386.patch       | 45 +++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 package/distribution-registry/0001-s3-aws-fix-build-for-386.patch

diff --git a/package/distribution-registry/0001-s3-aws-fix-build-for-386.patch b/package/distribution-registry/0001-s3-aws-fix-build-for-386.patch
new file mode 100644
index 0000000000..a725ab8e92
--- /dev/null
+++ b/package/distribution-registry/0001-s3-aws-fix-build-for-386.patch
@@ -0,0 +1,45 @@
+From 6970080b10a53d858dd444a643a2bd911de12940 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 29 May 2025 11:28:38 +0800
+Subject: [PATCH] s3-aws: fix build for 386
+
+When building for 386, we got the following build error:
+
+  registry/storage/driver/s3-aws/s3.go:312:99: cannot use
+  maxChunkSize (untyped int constant 5368709120) as int value
+  in argument to getParameterAsInteger (overflows)
+
+This is because the s3_64bit.go is used. Adjust the build tag matching
+in s3_32bit.go and s3_64bit.go to fix this issue.
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+Upstream: https://github.com/distribution/distribution/commit/6970080b10a53d858dd444a643a2bd911de12940
+Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
+---
+ registry/storage/driver/s3-aws/s3_32bit.go | 2 +-
+ registry/storage/driver/s3-aws/s3_64bit.go | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/registry/storage/driver/s3-aws/s3_32bit.go b/registry/storage/driver/s3-aws/s3_32bit.go
+index 218e3eab..84161fcb 100644
+--- a/registry/storage/driver/s3-aws/s3_32bit.go
++++ b/registry/storage/driver/s3-aws/s3_32bit.go
+@@ -1,4 +1,4 @@
+-//go:build arm
++//go:build arm || 386
+ 
+ package s3
+ 
+diff --git a/registry/storage/driver/s3-aws/s3_64bit.go b/registry/storage/driver/s3-aws/s3_64bit.go
+index 55254e49..2ed1f92f 100644
+--- a/registry/storage/driver/s3-aws/s3_64bit.go
++++ b/registry/storage/driver/s3-aws/s3_64bit.go
+@@ -1,4 +1,4 @@
+-//go:build !arm
++//go:build !arm && !386
+ 
+ package s3
+ 
+-- 
+2.51.1
+
-- 
2.51.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-11-17 21:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-17 19:18 [Buildroot] [PATCH] package/distribution-registry: fix build on i386 Yann E. MORIN via buildroot
2025-11-17 19:19 ` Yann E. MORIN via buildroot
2025-11-17 21:31   ` Julien Olivain via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.