aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2026-07-06 12:26:43 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2026-07-08 08:49:10 +0000
commit9cf9f6909d2fdecb965fd3119b806879f268dd82 (patch)
tree3b5bed02fb63ddf40fa30d3c5064d90720baa9f6
parent796e29309e8ff2be52de3b83b107230dd95ffbbd (diff)
sysutils/docker-buildx: fix build on armv7
On armv7, syscall.Timespec and golang.org/x/sys/unix.Timespec do not have the same members due to padding in syscall.Timespec. Work around this difference by converting field-by-field. Approved by: portmgr (build fix blanket) See also: https://github.com/tonistiigi/fsutil/issues/266
-rw-r--r--sysutils/docker-buildx/files/patch-vendor_github.com_tonistiigi_fsutil_copy_copy__unix.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/sysutils/docker-buildx/files/patch-vendor_github.com_tonistiigi_fsutil_copy_copy__unix.go b/sysutils/docker-buildx/files/patch-vendor_github.com_tonistiigi_fsutil_copy_copy__unix.go
new file mode 100644
index 000000000000..7229f810b60d
--- /dev/null
+++ b/sysutils/docker-buildx/files/patch-vendor_github.com_tonistiigi_fsutil_copy_copy__unix.go
@@ -0,0 +1,13 @@
+--- vendor/github.com/tonistiigi/fsutil/copy/copy_unix.go.orig 2026-07-06 12:19:07 UTC
++++ vendor/github.com/tonistiigi/fsutil/copy/copy_unix.go
+@@ -62,7 +62,9 @@ func (c *copier) copyFileTimestamp(fi os.FileInfo, nam
+ }
+
+ st := fi.Sys().(*syscall.Stat_t)
+- timespec := []unix.Timespec{unix.Timespec(StatAtime(st)), unix.Timespec(StatMtime(st))}
++ atime := unix.Timespec{Sec: StatAtime(st).Sec, Nsec: StatAtime(st).Nsec}
++ mtime := unix.Timespec{Sec: StatMtime(st).Sec, Nsec: StatMtime(st).Nsec}
++ timespec := []unix.Timespec{atime, mtime}
+ if err := unix.UtimesNanoAt(unix.AT_FDCWD, name, timespec, unix.AT_SYMLINK_NOFOLLOW); err != nil {
+ return errors.Wrapf(err, "failed to utime %s", name)
+ }