On Fri, 31 May 2024 17:18:40 +0100,
Theo Buehler <t...@theobuehler.org> wrote:
> 
> On Fri, May 24, 2024 at 06:37:26PM +0100, Kirill A. Korinsky wrote:
> > ports@,
> > 
> > Here an update for docker-compose to the last version which was released a
> > few hours ago.
> > 
> > The good news that this release includes our patches that allows to drop it
> > from ports tree.
> > 
> > The only patch that left was also merged to upstream of buildkit and the
> > next release of buildkit will include that.
> > 
> > After that this port can be rewritten to usual go port and vendor artifact
> > can be avoided.
> > 
> > Thus, it is future, but todays diff which was tested on -current/amd64 here:
> 
> 
> This doesn't build here:
> 
> # github.com/docker/compose/v2/vendor/github.com/tonistiigi/fsutil
> vendor/github.com/tonistiigi/fsutil/hardlinks.go:83:67: undefined: 
> syscall.EBADMSG
> 
> Did the commit miss a patch or did you build this with the related
> patches for lang/go that you sent to the list recently?

Indeed I do have updated lang/go with patches which I sent recently to
remove patches which enforce value of syscall.EBADMSG.

Well, I've reinstalled lang/go to have reproduce the failure, and here the
diff which should fix the build. I've re-checked docker-cli, docker-buildx
and docker-compose.

So, this diff required until lang/go is updated. I think that move with
patch for lang/go is the rigth move, but anyway, here the fix:

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
index 8ee8cf660ad..215c660a58c 100644
--- 
sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go
+++ 
sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_diskwriter_go
@@ -1,7 +1,7 @@
 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 
+@@ -123,7 +123,7 @@ func (dw *DiskWriter) HandleChange(kind ChangeKind, p 
  
        stat, ok := fi.Sys().(*types.Stat)
        if !ok {
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
index 75a98417263..6653ec01bd6 100644
--- 
sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go
+++ 
sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_hardlinks_go
@@ -1,7 +1,7 @@
 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
+@@ -32,7 +32,7 @@ func (v *Hardlinks) HandleChange(kind ChangeKind, p st
  
        stat, ok := fi.Sys().(*types.Stat)
        if !ok {
@@ -10,3 +10,12 @@ Index: vendor/github.com/tonistiigi/fsutil/hardlinks.go
        }
  
        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
index f9950f1f938..3050cac538d 100644
--- 
sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go
+++ 
sysutils/docker-compose/patches/patch-vendor_github_com_tonistiigi_fsutil_send_go
@@ -9,4 +9,4 @@ Index: vendor/github.com/tonistiigi/fsutil/send.go
 +                      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{
+               stat.Linkname = filepath.ToSlash(stat.Linkname)


-- 
wbr, Kirill

Reply via email to