From e5644e9fc6599f0243af9eb3fba090b9fe45097c Mon Sep 17 00:00:00 2001 From: deltadecay <74830817+deltadecay@users.noreply.github.com> Date: Fri, 29 Sep 2023 12:51:24 +0200 Subject: [PATCH] Fixed issue in SetUserOwner when on macosx and change of owner for temp file when slicing. Otherwise slicing stops with permission denied. --- internal/extract/tree.go | 3 +++ internal/system/system.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/extract/tree.go b/internal/extract/tree.go index 9063e75..fedf4d3 100644 --- a/internal/extract/tree.go +++ b/internal/extract/tree.go @@ -12,6 +12,7 @@ import ( "strings" "github.com/lambdajack/sequentially-generate-planet-mbtiles/internal/docker" + "github.com/lambdajack/sequentially-generate-planet-mbtiles/internal/system" ) func TreeSlicer(src, dstDir, workingDir string, targetSize uint64, gdal, osmium *docker.Container, elg, plg, rlg *log.Logger) { @@ -113,6 +114,8 @@ func slice(src, dst, bb string, osmium *docker.Container, elg, plg, rlg *log.Log } defer f.Close() + system.SetUserOwner(f.Name()) + rlg.Printf("slicing %s >>> %s (%s)", filepath.Base(src), filepath.Base(f.Name()), bb) lp, err := Extract(src, f.Name(), bb, osmium) if err != nil { diff --git a/internal/system/system.go b/internal/system/system.go index 6aa353b..d62ae7c 100644 --- a/internal/system/system.go +++ b/internal/system/system.go @@ -16,7 +16,7 @@ func SetUserOwner(path string) error { return err } - if u.Name == "root" && runtime.GOOS == "linux" { + if u.Username == "root" && (runtime.GOOS == "linux" || runtime.GOOS == "darwin") { u := os.Getenv("SUDO_UID") if u == "" { return err