On 2024/06/07 01:04, Kirill A. Korinsky wrote: > I also included trivial patches to add missed syscall.EBADMSG on 386, amd64 > and arm which allows to remove dozen of patches from port tree.
slight exaggeration... 7 patches in docker-compose and 7 in docker-buildx, all because of github.com/tonistiigi/fsutil. afaik they're meant to be getting these from golang.org/x/sys/unix (where EBADMSG *is* present for all OpenBSD platforms) rather than go itself anyway? > > Tested on -current/amd64. > > diff --git lang/go/Makefile lang/go/Makefile > index 87e960b38a5..4213793cbf5 100644 > --- lang/go/Makefile > +++ lang/go/Makefile > @@ -7,7 +7,7 @@ COMMENT = Go programming language > > # increment _MODGO_SYSTEM_VERSION in go.port.mk after updating to a new > # version, to trigger updates of go-compiled ports > -VERSION = 1.22.3 > +VERSION = 1.22.4 > DISTNAME = go${VERSION}.src > PKGNAME = go-${VERSION} > PKGSPEC = ${FULLPKGNAME:S/go-/go-=/} > diff --git lang/go/distinfo lang/go/distinfo > index a70f909087a..28eabcd6e3d 100644 > --- lang/go/distinfo > +++ lang/go/distinfo > @@ -4,11 +4,11 @@ SHA256 (go-openbsd-arm-bootstrap-1.20.4.tar.gz) = > MFK9DdbKJSqyYFLANhKbD6KWT1x+wX > SHA256 (go-openbsd-arm64-bootstrap-1.20.4.tar.gz) = > G3sZhx63D+QLEgbwU1+d3ECiVJjVrFD5RqD2/qutXmI= > SHA256 (go-openbsd-mips64-bootstrap-1.20.4.tar.gz) = > CaZYJ+pIQp+lp721Ox45Y8uqkbsygcfyDFxQsqabPIs= > SHA256 (go-openbsd-riscv64-bootstrap-1.20.4.tar.gz) = > lQv/8KPWi8U3yLG+k3xVDNRVzxa5rmPIIpJUDrwVo0o= > -SHA256 (go1.22.3.src.tar.gz) = gGSO80+QMZPXKlnA3/AZ9fmK4MmqE63gsOy/+ZGnb2g= > +SHA256 (go1.22.4.src.tar.gz) = /tcgZ45yinyjC6jR3tHKr+J9FgKPqwIyuLqOIgCPt4Q= > SIZE (go-openbsd-386-bootstrap-1.20.4.tar.gz) = 100681343 > SIZE (go-openbsd-amd64-bootstrap-1.20.4.tar.gz) = 107075675 > SIZE (go-openbsd-arm-bootstrap-1.20.4.tar.gz) = 104680775 > SIZE (go-openbsd-arm64-bootstrap-1.20.4.tar.gz) = 102706601 > SIZE (go-openbsd-mips64-bootstrap-1.20.4.tar.gz) = 105352848 > SIZE (go-openbsd-riscv64-bootstrap-1.20.4.tar.gz) = 106167229 > -SIZE (go1.22.3.src.tar.gz) = 27552410 > +SIZE (go1.22.4.src.tar.gz) = 27555503 > diff --git lang/go/patches/patch-src_syscall_zerrors_openbsd_386_go > lang/go/patches/patch-src_syscall_zerrors_openbsd_386_go > new file mode 100644 > index 00000000000..58d7b282dc6 > --- /dev/null > +++ lang/go/patches/patch-src_syscall_zerrors_openbsd_386_go > @@ -0,0 +1,11 @@ > +Index: src/syscall/zerrors_openbsd_386.go > +--- src/syscall/zerrors_openbsd_386.go.orig > ++++ src/syscall/zerrors_openbsd_386.go > +@@ -1330,6 +1330,7 @@ const ( > + EALREADY = Errno(0x25) > + EAUTH = Errno(0x50) > + EBADF = Errno(0x9) > ++ EBADMSG = Errno(0x5c) > + EBADRPC = Errno(0x48) > + EBUSY = Errno(0x10) > + ECANCELED = Errno(0x58) > diff --git lang/go/patches/patch-src_syscall_zerrors_openbsd_amd64_go > lang/go/patches/patch-src_syscall_zerrors_openbsd_amd64_go > new file mode 100644 > index 00000000000..3027cd91787 > --- /dev/null > +++ lang/go/patches/patch-src_syscall_zerrors_openbsd_amd64_go > @@ -0,0 +1,11 @@ > +Index: src/syscall/zerrors_openbsd_amd64.go > +--- src/syscall/zerrors_openbsd_amd64.go.orig > ++++ src/syscall/zerrors_openbsd_amd64.go > +@@ -1329,6 +1329,7 @@ const ( > + EALREADY = Errno(0x25) > + EAUTH = Errno(0x50) > + EBADF = Errno(0x9) > ++ EBADMSG = Errno(0x5c) > + EBADRPC = Errno(0x48) > + EBUSY = Errno(0x10) > + ECANCELED = Errno(0x58) > diff --git lang/go/patches/patch-src_syscall_zerrors_openbsd_arm_go > lang/go/patches/patch-src_syscall_zerrors_openbsd_arm_go > new file mode 100644 > index 00000000000..f0ffcb34cbc > --- /dev/null > +++ lang/go/patches/patch-src_syscall_zerrors_openbsd_arm_go > @@ -0,0 +1,11 @@ > +Index: src/syscall/zerrors_openbsd_arm.go > +--- src/syscall/zerrors_openbsd_arm.go.orig > ++++ src/syscall/zerrors_openbsd_arm.go > +@@ -1329,6 +1329,7 @@ const ( > + EALREADY = Errno(0x25) > + EAUTH = Errno(0x50) > + EBADF = Errno(0x9) > ++ EBADMSG = Errno(0x5c) > + EBADRPC = Errno(0x48) > + EBUSY = Errno(0x10) > + ECANCELED = Errno(0x58) > diff --git lang/go/pkg/PLIST lang/go/pkg/PLIST > index 10203640095..6ab40404a65 100644 > --- lang/go/pkg/PLIST > +++ lang/go/pkg/PLIST > @@ -188,6 +188,7 @@ go/src/archive/zip/reader_test.go > go/src/archive/zip/register.go > go/src/archive/zip/struct.go > go/src/archive/zip/testdata/ > +go/src/archive/zip/testdata/comment-truncated.zip > go/src/archive/zip/testdata/crc32-not-streamed.zip > go/src/archive/zip/testdata/dd.zip > go/src/archive/zip/testdata/dupdir.zip > @@ -2576,6 +2577,7 @@ go/src/cmd/go/testdata/script/gopath_std_vendor.txt > go/src/cmd/go/testdata/script/gopath_vendor_dup_err.txt > go/src/cmd/go/testdata/script/goroot_executable.txt > go/src/cmd/go/testdata/script/goroot_executable_trimpath.txt > +go/src/cmd/go/testdata/script/gotoolchain_issue66175.txt > go/src/cmd/go/testdata/script/gotoolchain_local.txt > go/src/cmd/go/testdata/script/gotoolchain_loop.txt > go/src/cmd/go/testdata/script/gotoolchain_modcmds.txt > @@ -5326,7 +5328,6 @@ go/src/crypto/x509/root.go > go/src/crypto/x509/root_aix.go > go/src/crypto/x509/root_bsd.go > go/src/crypto/x509/root_darwin.go > -go/src/crypto/x509/root_darwin_test.go > go/src/crypto/x509/root_linux.go > go/src/crypto/x509/root_plan9.go > go/src/crypto/x509/root_solaris.go > @@ -5335,7 +5336,6 @@ go/src/crypto/x509/root_unix.go > go/src/crypto/x509/root_unix_test.go > go/src/crypto/x509/root_wasm.go > go/src/crypto/x509/root_windows.go > -go/src/crypto/x509/root_windows_test.go > go/src/crypto/x509/sec1.go > go/src/crypto/x509/sec1_test.go > go/src/crypto/x509/test-file.crt > @@ -5424,7 +5424,7 @@ go/src/debug/elf/testdata/compressed-32.obj > go/src/debug/elf/testdata/compressed-64.obj > go/src/debug/elf/testdata/gcc-386-freebsd-exec > go/src/debug/elf/testdata/gcc-amd64-linux-exec > -go/src/debug/elf/testdata/gcc-amd64-openbsd-debug-with-rela.obj > +go/src/debug/elf/testdata/gcc-${MACHINE_ARCH}-openbsd-debug-with-rela.obj > go/src/debug/elf/testdata/go-relocation-test-clang-arm.obj > go/src/debug/elf/testdata/go-relocation-test-clang-x86.obj > go/src/debug/elf/testdata/go-relocation-test-gcc424-x86-64.obj > @@ -13244,6 +13244,9 @@ go/test/fixedbugs/issue6703w.go > go/test/fixedbugs/issue6703x.go > go/test/fixedbugs/issue6703y.go > go/test/fixedbugs/issue6703z.go > +go/test/fixedbugs/issue67141.go > +go/test/fixedbugs/issue67160.go > +go/test/fixedbugs/issue67255.go > go/test/fixedbugs/issue6750.go > go/test/fixedbugs/issue6772.go > go/test/fixedbugs/issue6789.dir/ > diff --git > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go > > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go > deleted file mode 100644 > index 8ee8cf660ad..00000000000 > --- > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/diskwriter.go > ---- vendor/github.com/tonistiigi/fsutil/diskwriter.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/diskwriter.go > -@@ -121,7 +121,7 @@ func (dw *DiskWriter) HandleChange(kind ChangeKind, p > - > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: p, Err: > syscall.EBADMSG, Op: "change without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: p, Err: > syscall.Errno(0x5c), Op: "change without stat info"}) > - } > - > - statCopy := *stat > diff --git > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_filter_go > > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_filter_go > deleted file mode 100644 > index 03b8cdf9446..00000000000 > --- > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_filter_go > +++ /dev/null > @@ -1,21 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/filter.go > ---- vendor/github.com/tonistiigi/fsutil/filter.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/filter.go > -@@ -318,7 +318,7 @@ func (fs *filterFS) Walk(ctx context.Context, target s > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: path, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: path, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - > - select { > -@@ -346,7 +346,7 @@ func (fs *filterFS) Walk(ctx context.Context, target s > - } > - parentStat, ok := parentFi.Sys().(*types.Stat) > - if !ok { > -- return > errors.WithStack(&os.PathError{Path: path, Err: syscall.EBADMSG, Op: > "fileinfo without stat info"}) > -+ return > errors.WithStack(&os.PathError{Path: path, Err: syscall.Errno(0x5c), Op: > "fileinfo without stat info"}) > - } > - > - select { > diff --git > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_followlinks_go > > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_followlinks_go > deleted file mode 100644 > index e85c7f5e8eb..00000000000 > --- > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_followlinks_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/followlinks.go > ---- vendor/github.com/tonistiigi/fsutil/followlinks.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/followlinks.go > -@@ -122,7 +122,7 @@ func (r *symlinkResolver) readSymlink(p string, allowW > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return nil, errors.WithStack(&os.PathError{Path: p, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return nil, errors.WithStack(&os.PathError{Path: p, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - > - link := filepath.Clean(stat.Linkname) > diff --git > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_fs_go > > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_fs_go > deleted file mode 100644 > index d3b230d1e7b..00000000000 > --- > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_fs_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/fs.go > ---- vendor/github.com/tonistiigi/fsutil/fs.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/fs.go > -@@ -144,7 +144,7 @@ func (fs *subDirFS) Walk(ctx context.Context, target s > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: > d.Stat.Path, Err: syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: > d.Stat.Path, Err: syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - stat.Path = path.Join(d.Stat.Path, stat.Path) > - if stat.Linkname != "" { > diff --git > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go > > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go > deleted file mode 100644 > index 75a98417263..00000000000 > --- > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/hardlinks.go > ---- vendor/github.com/tonistiigi/fsutil/hardlinks.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/hardlinks.go > -@@ -29,7 +29,7 @@ func (v *Hardlinks) HandleChange(kind ChangeKind, p st > - > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: p, Err: > syscall.EBADMSG, Op: "change without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: p, Err: > syscall.Errno(0x5c), Op: "change without stat info"}) > - } > - > - if fi.IsDir() || fi.Mode()&os.ModeSymlink != 0 { > diff --git > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go > > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go > deleted file mode 100644 > index f9950f1f938..00000000000 > --- > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/send.go > ---- vendor/github.com/tonistiigi/fsutil/send.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/send.go > -@@ -158,7 +158,7 @@ func (s *sender) walk(ctx context.Context) error { > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: path, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: path, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - stat.Path = filepath.ToSlash(stat.Path) > - p := &types.Packet{ > diff --git > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_tarwriter_go > > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_tarwriter_go > deleted file mode 100644 > index 233d5667289..00000000000 > --- > sysutils/docker-buildx/patches/patch-vendor_github_com_tonistiigi_fsutil_tarwriter_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/tarwriter.go > ---- vendor/github.com/tonistiigi/fsutil/tarwriter.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/tarwriter.go > -@@ -26,7 +26,7 @@ func WriteTar(ctx context.Context, fs FS, w io.Writer) > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: path, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: path, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - hdr, err := tar.FileInfoHeader(fi, stat.Linkname) > - if err != nil { > diff --git > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go > > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go > deleted file mode 100644 > index 215c660a58c..00000000000 > --- > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/diskwriter.go > ---- vendor/github.com/tonistiigi/fsutil/diskwriter.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/diskwriter.go > -@@ -123,7 +123,7 @@ func (dw *DiskWriter) HandleChange(kind ChangeKind, p > - > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: p, Err: > syscall.EBADMSG, Op: "change without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: p, Err: > syscall.Errno(0x5c), Op: "change without stat info"}) > - } > - > - statCopy := *stat > diff --git > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_filter_go > > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_filter_go > deleted file mode 100644 > index 03b8cdf9446..00000000000 > --- > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_filter_go > +++ /dev/null > @@ -1,21 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/filter.go > ---- vendor/github.com/tonistiigi/fsutil/filter.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/filter.go > -@@ -318,7 +318,7 @@ func (fs *filterFS) Walk(ctx context.Context, target s > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: path, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: path, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - > - select { > -@@ -346,7 +346,7 @@ func (fs *filterFS) Walk(ctx context.Context, target s > - } > - parentStat, ok := parentFi.Sys().(*types.Stat) > - if !ok { > -- return > errors.WithStack(&os.PathError{Path: path, Err: syscall.EBADMSG, Op: > "fileinfo without stat info"}) > -+ return > errors.WithStack(&os.PathError{Path: path, Err: syscall.Errno(0x5c), Op: > "fileinfo without stat info"}) > - } > - > - select { > diff --git > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_followlinks_go > > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_followlinks_go > deleted file mode 100644 > index e85c7f5e8eb..00000000000 > --- > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_followlinks_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/followlinks.go > ---- vendor/github.com/tonistiigi/fsutil/followlinks.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/followlinks.go > -@@ -122,7 +122,7 @@ func (r *symlinkResolver) readSymlink(p string, allowW > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return nil, errors.WithStack(&os.PathError{Path: p, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return nil, errors.WithStack(&os.PathError{Path: p, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - > - link := filepath.Clean(stat.Linkname) > diff --git > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_fs_go > > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_fs_go > deleted file mode 100644 > index d3b230d1e7b..00000000000 > --- > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_fs_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/fs.go > ---- vendor/github.com/tonistiigi/fsutil/fs.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/fs.go > -@@ -144,7 +144,7 @@ func (fs *subDirFS) Walk(ctx context.Context, target s > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: > d.Stat.Path, Err: syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: > d.Stat.Path, Err: syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - stat.Path = path.Join(d.Stat.Path, stat.Path) > - if stat.Linkname != "" { > diff --git > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go > > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go > deleted file mode 100644 > index 6653ec01bd6..00000000000 > --- > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go > +++ /dev/null > @@ -1,21 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/hardlinks.go > ---- vendor/github.com/tonistiigi/fsutil/hardlinks.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/hardlinks.go > -@@ -32,7 +32,7 @@ func (v *Hardlinks) HandleChange(kind ChangeKind, p st > - > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: p, Err: > syscall.EBADMSG, Op: "change without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: p, Err: > syscall.Errno(0x5c), Op: "change without stat info"}) > - } > - > - if fi.IsDir() || fi.Mode()&os.ModeSymlink != 0 { > -@@ -80,7 +80,7 @@ func (r *hardlinkFilter) Walk(ctx context.Context, tar > - > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: path, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: path, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - > - if stat.Linkname != "" { > diff --git > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go > > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go > deleted file mode 100644 > index 3050cac538d..00000000000 > --- > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/send.go > ---- vendor/github.com/tonistiigi/fsutil/send.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/send.go > -@@ -158,7 +158,7 @@ func (s *sender) walk(ctx context.Context) error { > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: path, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: path, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - stat.Path = filepath.ToSlash(stat.Path) > - stat.Linkname = filepath.ToSlash(stat.Linkname) > diff --git > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_tarwriter_go > > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_tarwriter_go > deleted file mode 100644 > index 233d5667289..00000000000 > --- > sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_tarwriter_go > +++ /dev/null > @@ -1,12 +0,0 @@ > -Index: vendor/github.com/tonistiigi/fsutil/tarwriter.go > ---- vendor/github.com/tonistiigi/fsutil/tarwriter.go.orig > -+++ vendor/github.com/tonistiigi/fsutil/tarwriter.go > -@@ -26,7 +26,7 @@ func WriteTar(ctx context.Context, fs FS, w io.Writer) > - } > - stat, ok := fi.Sys().(*types.Stat) > - if !ok { > -- return errors.WithStack(&os.PathError{Path: path, Err: > syscall.EBADMSG, Op: "fileinfo without stat info"}) > -+ return errors.WithStack(&os.PathError{Path: path, Err: > syscall.Errno(0x5c), Op: "fileinfo without stat info"}) > - } > - hdr, err := tar.FileInfoHeader(fi, stat.Linkname) > - if err != nil { > > -- > wbr, Kirill >