mirror of
https://github.com/goreleaser/nfpm
synced 2024-06-18 21:59:24 +02:00
fix: gometalinter
This commit is contained in:
parent
4486870ddd
commit
4d7ea9700c
19
rpm/rpm.go
19
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")
|
return errors.Wrap(err, "failed to copy rpm file to writer")
|
||||||
}
|
}
|
||||||
|
|
||||||
type version struct {
|
type rpmbuildVersion struct {
|
||||||
Major, Minor, Path int
|
Major, Minor, Path int
|
||||||
}
|
}
|
||||||
|
|
||||||
func rpmbuildVersion() (version, error) {
|
func getRpmbuildVersion() (rpmbuildVersion, error) {
|
||||||
|
// #nosec
|
||||||
bts, err := exec.Command("rpmbuild", "--version").CombinedOutput()
|
bts, err := exec.Command("rpmbuild", "--version").CombinedOutput()
|
||||||
if err != nil {
|
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)
|
var v = make([]int, 3)
|
||||||
vs := strings.TrimSuffix(strings.TrimPrefix(string(bts), "RPM version "), "\n")
|
vs := strings.TrimSuffix(strings.TrimPrefix(string(bts), "RPM version "), "\n")
|
||||||
for i, part := range strings.Split(vs, ".")[:3] {
|
for i, part := range strings.Split(vs, ".")[:3] {
|
||||||
pi, err := strconv.Atoi(part)
|
pi, err := strconv.Atoi(part)
|
||||||
if err != nil {
|
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
|
v[i] = pi
|
||||||
}
|
}
|
||||||
return version{
|
return rpmbuildVersion{
|
||||||
Major: v[0],
|
Major: v[0],
|
||||||
Minor: v[1],
|
Minor: v[1],
|
||||||
Path: v[2],
|
Path: v[2],
|
||||||
|
@ -101,18 +102,18 @@ func rpmbuildVersion() (version, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func createSpec(info nfpm.Info, path string) 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 {
|
if err != nil {
|
||||||
return errors.Wrap(err, "failed to create spec")
|
return errors.Wrap(err, "failed to create spec")
|
||||||
}
|
}
|
||||||
version, err := rpmbuildVersion()
|
vs, err := getRpmbuildVersion()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
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")
|
var tmpl = template.New("spec")
|
||||||
tmpl.Funcs(template.FuncMap{
|
tmpl.Funcs(template.FuncMap{
|
||||||
"first_line": func(str string) string {
|
"first_line": func(str string) string {
|
||||||
|
|
|
@ -52,10 +52,10 @@ var info = nfpm.WithDefaults(nfpm.Info{
|
||||||
})
|
})
|
||||||
|
|
||||||
func TestSpec(t *testing.T) {
|
func TestSpec(t *testing.T) {
|
||||||
for golden, vs := range map[string]version{
|
for golden, vs := range map[string]rpmbuildVersion{
|
||||||
"testdata/spec_4.14.x.golden": version{4, 14, 2},
|
"testdata/spec_4.14.x.golden": rpmbuildVersion{4, 14, 2},
|
||||||
"testdata/spec_4.13.x.golden": version{4, 13, 1},
|
"testdata/spec_4.13.x.golden": rpmbuildVersion{4, 13, 1},
|
||||||
"testdata/spec_4.12.x.golden": version{4, 12, 9},
|
"testdata/spec_4.12.x.golden": rpmbuildVersion{4, 12, 9},
|
||||||
} {
|
} {
|
||||||
t.Run(golden, func(tt *testing.T) {
|
t.Run(golden, func(tt *testing.T) {
|
||||||
var w bytes.Buffer
|
var w bytes.Buffer
|
||||||
|
@ -110,7 +110,7 @@ func TestRPMBuildNotInPath(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRpmBuildVersion(t *testing.T) {
|
func TestRpmBuildVersion(t *testing.T) {
|
||||||
v, err := rpmbuildVersion()
|
v, err := getRpmbuildVersion()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, 4, v.Major)
|
assert.Equal(t, 4, v.Major)
|
||||||
assert.True(t, v.Minor >= 11)
|
assert.True(t, v.Minor >= 11)
|
||||||
|
|
Loading…
Reference in New Issue