From c13a2174c4ba2f1b67acb97b34d40171e55dd854 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Sat, 6 Mar 2021 18:21:21 +0100 Subject: [PATCH] Try to chown after copy --- pkg/helpers/file.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/helpers/file.go b/pkg/helpers/file.go index 81f8e8b9..40cc468f 100644 --- a/pkg/helpers/file.go +++ b/pkg/helpers/file.go @@ -16,6 +16,7 @@ package helpers import ( + "fmt" "io" "io/ioutil" "os" @@ -172,9 +173,18 @@ func CopyFile(src, dst string) (err error) { return nil } - return copy.Copy(src, dst, copy.Options{ + err = copy.Copy(src, dst, copy.Options{ Sync: true, OnSymlink: func(string) copy.SymlinkAction { return copy.Shallow }}) + if err != nil { + return err + } + if stat, ok := fi.Sys().(*syscall.Stat_t); ok { + if err := os.Chown(dst, int(stat.Uid), int(stat.Gid)); err != nil { + fmt.Println("failed chowning", dst, err.Error()) + } + } + return err } func IsDirectory(path string) (bool, error) {