From 4d7ea9700c6d4c3c339f9b5d37a90c9057f761ce Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Sun, 18 Feb 2018 18:54:15 -0300 Subject: [PATCH] fix: gometalinter --- rpm/rpm.go | 19 ++++++++++--------- rpm/rpm_test.go | 10 +++++----- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/rpm/rpm.go b/rpm/rpm.go index c28ca07..f2c8ce2 100644 --- a/rpm/rpm.go +++ b/rpm/rpm.go @@ -75,25 +75,26 @@ func (*RPM) Package(info nfpm.Info, w io.Writer) error { return errors.Wrap(err, "failed to copy rpm file to writer") } -type version struct { +type rpmbuildVersion struct { Major, Minor, Path int } -func rpmbuildVersion() (version, error) { +func getRpmbuildVersion() (rpmbuildVersion, error) { + // #nosec bts, err := exec.Command("rpmbuild", "--version").CombinedOutput() if err != nil { - return version{}, errors.Wrap(err, "failed to get rpmbuild version") + return rpmbuildVersion{}, errors.Wrap(err, "failed to get rpmbuild version") } var v = make([]int, 3) vs := strings.TrimSuffix(strings.TrimPrefix(string(bts), "RPM version "), "\n") for i, part := range strings.Split(vs, ".")[:3] { pi, err := strconv.Atoi(part) if err != nil { - return version{}, errors.Wrapf(err, "could not parse version %s", vs) + return rpmbuildVersion{}, errors.Wrapf(err, "could not parse version %s", vs) } v[i] = pi } - return version{ + return rpmbuildVersion{ Major: v[0], Minor: v[1], Path: v[2], @@ -101,18 +102,18 @@ func rpmbuildVersion() (version, error) { } func createSpec(info nfpm.Info, path string) error { - file, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0655) + file, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0600) if err != nil { return errors.Wrap(err, "failed to create spec") } - version, err := rpmbuildVersion() + vs, err := getRpmbuildVersion() if err != nil { return err } - return writeSpec(file, info, version) + return writeSpec(file, info, vs) } -func writeSpec(w io.Writer, info nfpm.Info, vs version) error { +func writeSpec(w io.Writer, info nfpm.Info, vs rpmbuildVersion) error { var tmpl = template.New("spec") tmpl.Funcs(template.FuncMap{ "first_line": func(str string) string { diff --git a/rpm/rpm_test.go b/rpm/rpm_test.go index aa029f8..e25a44a 100644 --- a/rpm/rpm_test.go +++ b/rpm/rpm_test.go @@ -52,10 +52,10 @@ var info = nfpm.WithDefaults(nfpm.Info{ }) func TestSpec(t *testing.T) { - for golden, vs := range map[string]version{ - "testdata/spec_4.14.x.golden": version{4, 14, 2}, - "testdata/spec_4.13.x.golden": version{4, 13, 1}, - "testdata/spec_4.12.x.golden": version{4, 12, 9}, + for golden, vs := range map[string]rpmbuildVersion{ + "testdata/spec_4.14.x.golden": rpmbuildVersion{4, 14, 2}, + "testdata/spec_4.13.x.golden": rpmbuildVersion{4, 13, 1}, + "testdata/spec_4.12.x.golden": rpmbuildVersion{4, 12, 9}, } { t.Run(golden, func(tt *testing.T) { var w bytes.Buffer @@ -110,7 +110,7 @@ func TestRPMBuildNotInPath(t *testing.T) { } func TestRpmBuildVersion(t *testing.T) { - v, err := rpmbuildVersion() + v, err := getRpmbuildVersion() assert.NoError(t, err) assert.Equal(t, 4, v.Major) assert.True(t, v.Minor >= 11)