diff options
-rw-r--r-- | net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod.go | 8 | ||||
-rw-r--r-- | net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod__freebsd.go | 31 |
2 files changed, 39 insertions, 0 deletions
diff --git a/net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod.go b/net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod.go new file mode 100644 index 000000000000..23cb03ccf828 --- /dev/null +++ b/net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod.go @@ -0,0 +1,8 @@ +--- src/github.com/concourse/go-archive/tarfs/mknod.go.orig 2019-03-04 10:29:20 UTC ++++ src/github.com/concourse/go-archive/tarfs/mknod.go +@@ -1,4 +1,4 @@ +-// +build !windows ++// +build !windows,!freebsd + + package tarfs + diff --git a/net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod__freebsd.go b/net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod__freebsd.go new file mode 100644 index 000000000000..cf017c2a4ce3 --- /dev/null +++ b/net/concourse-fly/files/patch-src_github.com_concourse_go-archive_tarfs_mknod__freebsd.go @@ -0,0 +1,31 @@ +--- src/github.com/concourse/go-archive/tarfs/mknod_freebsd.go.orig 2019-03-13 13:08:01 UTC ++++ src/github.com/concourse/go-archive/tarfs/mknod_freebsd.go +@@ -0,0 +1,28 @@ ++// +build freebsd ++ ++package tarfs ++ ++import ( ++ "archive/tar" ++ "syscall" ++ ++ "golang.org/x/sys/unix" ++) ++ ++func mknodEntry(hdr *tar.Header, path string) error { ++ mode := uint32(hdr.Mode & 07777) ++ switch hdr.Typeflag { ++ case tar.TypeBlock: ++ mode |= unix.S_IFBLK ++ case tar.TypeChar: ++ mode |= unix.S_IFCHR ++ case tar.TypeFifo: ++ mode |= unix.S_IFIFO ++ } ++ ++ return syscall.Mknod(path, mode, uint64(mkdev(hdr.Devmajor, hdr.Devminor))) ++} ++ ++func mkdev(major, minor int64) uint32 { ++ return uint32(((minor & 0xfff00) << 12) | ((major & 0xfff) << 8) | (minor & 0xff)) ++} |