Files
buildroot/package/distribution-registry/0001-s3-aws-fix-build-for-386.patch
Yann E. MORIN 855cd60573 package/distribution-registry: fix build on i386
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
using the i386 build tag (of course, that still misses other 32-bit
archs, but are they really relevant in this case?).

Fixes:
https://autobuild.buildroot.org/results/8fa9c5f63f690b27336051be5178f0516e0c54d4/

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
[Julien: add "Fixes:" link]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-11-17 22:28:52 +01:00

46 lines
1.5 KiB
Diff

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