From 198ce9c24f507cfdb41d46bc9ac4f8deed86bb4e Mon Sep 17 00:00:00 2001 From: Zachary Huff Date: Tue, 23 May 2017 02:41:03 -0400 Subject: [PATCH] Fix pacman file perms --- pacman/pacman.go | 4 ++-- redhat/redhat.go | 2 +- utils/file.go | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/pacman/pacman.go b/pacman/pacman.go index 4b86717..c409a3f 100644 --- a/pacman/pacman.go +++ b/pacman/pacman.go @@ -163,7 +163,7 @@ func (p *Pacman) createMake() (err error) { } data += "package() {\n" - data += fmt.Sprintf(" sudo rsync -a -A -X %s/ ${pkgdir}/\n", + data += fmt.Sprintf(" rsync -a -A -X %s/ ${pkgdir}/\n", p.Pack.PackageDir) data += "}\n" @@ -178,7 +178,7 @@ func (p *Pacman) createMake() (err error) { } func (p *Pacman) pacmanBuild() (err error) { - err = utils.Chmod(p.pacmanDir, 0777) + err = utils.ChownR(p.pacmanDir, "nobody", "nobody") if err != nil { return } diff --git a/redhat/redhat.go b/redhat/redhat.go index ea0f512..60af6ea 100644 --- a/redhat/redhat.go +++ b/redhat/redhat.go @@ -167,7 +167,7 @@ func (r *Redhat) createSpec(files []string) (err error) { } data += "%install\n" - data += fmt.Sprintf("sudo rsync -a -A -X %s/ $RPM_BUILD_ROOT/\n", + data += fmt.Sprintf("rsync -a -A -X %s/ $RPM_BUILD_ROOT/\n", r.Pack.PackageDir) data += "\n" diff --git a/utils/file.go b/utils/file.go index f724b53..2ea44e1 100644 --- a/utils/file.go +++ b/utils/file.go @@ -1,6 +1,7 @@ package utils import ( + "fmt" "github.com/dropbox/godropbox/errors" "io/ioutil" "os" @@ -57,6 +58,20 @@ func Chmod(path string, perm os.FileMode) (err error) { return } +func ChownR(path string, user, group string) (err error) { + err = Exec("", + "chown", + "-R", + fmt.Sprintf("%s:%s", user, group), + path, + ) + if err != nil { + return + } + + return +} + func Remove(path string) (err error) { err = os.Remove(path) if err != nil {