Skip to content

Commit

Permalink
fix: rpm.release (#89)
Browse files Browse the repository at this point in the history
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
  • Loading branch information
caarlos0 committed Oct 22, 2019
1 parent 7889c9b commit 0425109
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 10 deletions.
9 changes: 8 additions & 1 deletion rpm/rpm.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ func buildRPMMeta(info *nfpm.Info) (*rpmpack.RPMMetaData, error) {
Name: info.Name,
Description: info.Description,
Version: info.Version,
Release: info.Release,
Release: defaultTo(info.Release, "1"),
Arch: info.Arch,
OS: info.Platform,
Licence: info.License,
Expand All @@ -121,6 +121,13 @@ func buildRPMMeta(info *nfpm.Info) (*rpmpack.RPMMetaData, error) {
}, nil
}

func defaultTo(in, def string) string {
if in == "" {
return def
}
return in
}

func toRelation(items []string) (rpmpack.Relations, error) {
relations := make(rpmpack.Relations, 0)
for idx := range items {
Expand Down
47 changes: 38 additions & 9 deletions rpm/rpm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ import (
)

const (
tagPrein = 0x03ff // 1023
tagPostin = 0x0400 // 1024
tagPreun = 0x0401 // 1025
tagPostun = 0x0402 // 1026
tagRelease = 0x03ea // 1002
tagPrein = 0x03ff // 1023
tagPostin = 0x0400 // 1024
tagPreun = 0x0401 // 1025
tagPostun = 0x0402 // 1026
)

func exampleInfo() *nfpm.Info {
Expand Down Expand Up @@ -72,19 +73,47 @@ func exampleInfo() *nfpm.Info {
}

func TestRPM(t *testing.T) {
var err = Default.Package(exampleInfo(), ioutil.Discard)
f, err := ioutil.TempFile("", "test.rpm")
defer func() {
_ = f.Close()
err = os.Remove(f.Name())
assert.NoError(t, err)
}()

assert.NoError(t, Default.Package(exampleInfo(), f))

file, err := os.OpenFile(f.Name(), os.O_RDONLY, 0600) //nolint:gosec
assert.NoError(t, err)
rpm, err := rpmutils.ReadRpm(file)
assert.NoError(t, err)
release, err := rpm.Header.GetString(tagRelease)
assert.NoError(t, err)
assert.Equal(t, "1", release)
}

func TestWithRPMTags(t *testing.T) {
f, err := ioutil.TempFile("", "test.rpm")
defer func() {
_ = f.Close()
err = os.Remove(f.Name())
assert.NoError(t, err)
}()

var info = exampleInfo()
info.Release = "3"
info.RPM = nfpm.RPM{
Group: "default",
Prefix: "/usr",
Release: "3",
Group: "default",
Prefix: "/usr",
}
var err = Default.Package(info, ioutil.Discard)
assert.NoError(t, Default.Package(info, f))

file, err := os.OpenFile(f.Name(), os.O_RDONLY, 0600) //nolint:gosec
assert.NoError(t, err)
rpm, err := rpmutils.ReadRpm(file)
assert.NoError(t, err)
release, err := rpm.Header.GetString(tagRelease)
assert.NoError(t, err)
assert.Equal(t, "3", release)
}

func TestRPMVersionWithDash(t *testing.T) {
Expand Down

0 comments on commit 0425109

Please sign in to comment.