From f73c9204c381da4ac59266a90b7a3ead21ef16df Mon Sep 17 00:00:00 2001 From: Michel Blanc Date: Sat, 18 Feb 2023 01:43:31 +0100 Subject: [PATCH] Fixes install permissions for binaries See #220 --- internal/install/direct.go | 1 - internal/install/gzip.go | 2 +- internal/install/install.go | 2 +- internal/install/tarxz.go | 8 +++----- internal/install/tbz.go | 7 +++---- internal/install/tgz.go | 4 ++-- internal/install/xz.go | 5 ++--- internal/install/zip.go | 2 +- 8 files changed, 13 insertions(+), 18 deletions(-) diff --git a/internal/install/direct.go b/internal/install/direct.go index 0cfa2f77..2acfa81f 100644 --- a/internal/install/direct.go +++ b/internal/install/direct.go @@ -4,7 +4,6 @@ import "github.com/devops-works/binenv/internal/mapping" // Direct installs directly downloaded binaries type Direct struct { - filter string } // Install will move the binary from src to dst diff --git a/internal/install/gzip.go b/internal/install/gzip.go index 3189b3a0..e52b2c5a 100644 --- a/internal/install/gzip.go +++ b/internal/install/gzip.go @@ -26,7 +26,7 @@ func (z GZip) Install(src, dst, version string, mapper mapping.Mapper) error { } defer in.Close() - out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0750) + out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0755) if err != nil { return err } diff --git a/internal/install/install.go b/internal/install/install.go index d90ee127..67ca5552 100644 --- a/internal/install/install.go +++ b/internal/install/install.go @@ -61,7 +61,7 @@ func installFile(src, dst string) error { return err } - err = os.Chmod(dst, 0700) + err = os.Chmod(dst, 0755) return err } diff --git a/internal/install/tarxz.go b/internal/install/tarxz.go index fff163fa..b36c13d5 100644 --- a/internal/install/tarxz.go +++ b/internal/install/tarxz.go @@ -4,7 +4,6 @@ import ( "archive/tar" "bytes" "io" - "io/ioutil" "log" "os" @@ -23,7 +22,7 @@ type TarXZ struct { func (x TarXZ) Install(src, dst, version string, mapper mapping.Mapper) error { noMatches := ErrNoMatch - data, err := ioutil.ReadFile(src) + data, err := os.ReadFile(src) if err != nil { log.Fatal(err) } @@ -36,7 +35,7 @@ func (x TarXZ) Install(src, dst, version string, mapper mapping.Mapper) error { tarReader := tar.NewReader(r) args := tpl.New(version, mapper) - for true { + for { header, err := tarReader.Next() if err == io.EOF { break @@ -56,7 +55,7 @@ func (x TarXZ) Install(src, dst, version string, mapper mapping.Mapper) error { continue } - out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0750) + out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0755) if err != nil { return err } @@ -69,5 +68,4 @@ func (x TarXZ) Install(src, dst, version string, mapper mapping.Mapper) error { } return noMatches - } diff --git a/internal/install/tbz.go b/internal/install/tbz.go index e2aa083e..e357d026 100644 --- a/internal/install/tbz.go +++ b/internal/install/tbz.go @@ -5,7 +5,6 @@ import ( "bytes" "compress/bzip2" "io" - "io/ioutil" "log" "os" @@ -22,7 +21,7 @@ type Tbz struct { func (x Tbz) Install(src, dst, version string, mapper mapping.Mapper) error { noMatches := ErrNoMatch - data, err := ioutil.ReadFile(src) + data, err := os.ReadFile(src) if err != nil { log.Fatal(err) } @@ -32,7 +31,7 @@ func (x Tbz) Install(src, dst, version string, mapper mapping.Mapper) error { tarReader := tar.NewReader(r) args := tpl.New(version, mapper) - for true { + for { header, err := tarReader.Next() if err == io.EOF { break @@ -52,7 +51,7 @@ func (x Tbz) Install(src, dst, version string, mapper mapping.Mapper) error { continue } - out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0750) + out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0755) if err != nil { return err } diff --git a/internal/install/tgz.go b/internal/install/tgz.go index c5abce1b..d1737707 100644 --- a/internal/install/tgz.go +++ b/internal/install/tgz.go @@ -34,7 +34,7 @@ func (t Tgz) Install(src, dst, version string, mapper mapping.Mapper) error { tarReader := tar.NewReader(gzf) args := tpl.New(version, mapper) - for true { + for { header, err := tarReader.Next() if err == io.EOF { break @@ -54,7 +54,7 @@ func (t Tgz) Install(src, dst, version string, mapper mapping.Mapper) error { continue } - out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0750) + out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0755) if err != nil { return err } diff --git a/internal/install/xz.go b/internal/install/xz.go index 5164b7c6..2dede7f9 100644 --- a/internal/install/xz.go +++ b/internal/install/xz.go @@ -3,7 +3,6 @@ package install import ( "bytes" "io" - "io/ioutil" "log" "os" @@ -18,7 +17,7 @@ type XZ struct { // Install file from xz file func (x XZ) Install(src, dst, version string, mapper mapping.Mapper) error { - data, err := ioutil.ReadFile(src) + data, err := os.ReadFile(src) if err != nil { log.Fatal(err) } @@ -28,7 +27,7 @@ func (x XZ) Install(src, dst, version string, mapper mapping.Mapper) error { return err } - out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0750) + out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0755) if err != nil { return err } diff --git a/internal/install/zip.go b/internal/install/zip.go index b4c31cec..c4c0bd88 100644 --- a/internal/install/zip.go +++ b/internal/install/zip.go @@ -35,7 +35,7 @@ func (z Zip) Install(src, dst, version string, mapper mapping.Mapper) error { continue } - out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0750) + out, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0755) if err != nil { return err }