mirror of
https://github.com/goreleaser/nfpm
synced 2024-05-04 19:16:14 +02:00
fix: deb version order in control (#498)
This commit is contained in:
parent
0310042153
commit
170bf81da5
|
@ -681,9 +681,9 @@ const controlTemplate = `
|
||||||
{{- /* Mandatory fields */ -}}
|
{{- /* Mandatory fields */ -}}
|
||||||
Package: {{.Info.Name}}
|
Package: {{.Info.Name}}
|
||||||
Version: {{ if .Info.Epoch}}{{ .Info.Epoch }}:{{ end }}{{.Info.Version}}
|
Version: {{ if .Info.Epoch}}{{ .Info.Epoch }}:{{ end }}{{.Info.Version}}
|
||||||
{{- if .Info.Release}}-{{ .Info.Release }}{{- end }}
|
|
||||||
{{- if .Info.Prerelease}}~{{ .Info.Prerelease }}{{- end }}
|
{{- if .Info.Prerelease}}~{{ .Info.Prerelease }}{{- end }}
|
||||||
{{- if .Info.VersionMetadata}}+{{ .Info.VersionMetadata }}{{- end }}
|
{{- if .Info.VersionMetadata}}+{{ .Info.VersionMetadata }}{{- end }}
|
||||||
|
{{- if .Info.Release}}-{{ .Info.Release }}{{- end }}
|
||||||
Section: {{.Info.Section}}
|
Section: {{.Info.Section}}
|
||||||
Priority: {{.Info.Priority}}
|
Priority: {{.Info.Priority}}
|
||||||
Architecture: {{.Info.Arch}}
|
Architecture: {{.Info.Arch}}
|
||||||
|
|
|
@ -157,7 +157,7 @@ func TestDebVersionWithReleaseAndPrerelease(t *testing.T) {
|
||||||
err := writeControl(&buf, controlData{info, 0})
|
err := writeControl(&buf, controlData{info, 0})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
v := extractDebVersion(&buf)
|
v := extractDebVersion(&buf)
|
||||||
require.Equal(t, "1.0.0-2~rc1", v)
|
require.Equal(t, "1.0.0~rc1-2", v)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDebVersionWithVersionMetadata(t *testing.T) {
|
func TestDebVersionWithVersionMetadata(t *testing.T) {
|
||||||
|
@ -260,6 +260,41 @@ func TestNoJoinsControl(t *testing.T) {
|
||||||
require.Equal(t, string(bts), w.String())
|
require.Equal(t, string(bts), w.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestVersionControl(t *testing.T) {
|
||||||
|
var w bytes.Buffer
|
||||||
|
require.NoError(t, writeControl(&w, controlData{
|
||||||
|
Info: nfpm.WithDefaults(&nfpm.Info{
|
||||||
|
Name: "foo",
|
||||||
|
Arch: "amd64",
|
||||||
|
Description: "Foo does things",
|
||||||
|
Priority: "extra",
|
||||||
|
Maintainer: "Carlos A Becker <pkg@carlosbecker.com>",
|
||||||
|
Version: "v1.0.0-beta+meta",
|
||||||
|
Release: "2",
|
||||||
|
Section: "default",
|
||||||
|
Homepage: "http://carlosbecker.com",
|
||||||
|
Vendor: "nope",
|
||||||
|
Overridables: nfpm.Overridables{
|
||||||
|
Depends: []string{},
|
||||||
|
Recommends: []string{},
|
||||||
|
Suggests: []string{},
|
||||||
|
Replaces: []string{},
|
||||||
|
Provides: []string{},
|
||||||
|
Conflicts: []string{},
|
||||||
|
Contents: []*files.Content{},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
InstalledSize: 10,
|
||||||
|
}))
|
||||||
|
golden := "testdata/control4.golden"
|
||||||
|
if *update {
|
||||||
|
require.NoError(t, ioutil.WriteFile(golden, w.Bytes(), 0o600))
|
||||||
|
}
|
||||||
|
bts, err := ioutil.ReadFile(golden) //nolint:gosec
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, string(bts), w.String())
|
||||||
|
}
|
||||||
|
|
||||||
func TestDebFileDoesNotExist(t *testing.T) {
|
func TestDebFileDoesNotExist(t *testing.T) {
|
||||||
abs, err := filepath.Abs("../testdata/whatever.confzzz")
|
abs, err := filepath.Abs("../testdata/whatever.confzzz")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
Package: foo
|
||||||
|
Version: 1.0.0~beta+meta-2
|
||||||
|
Section: default
|
||||||
|
Priority: extra
|
||||||
|
Architecture: amd64
|
||||||
|
Maintainer: Carlos A Becker <pkg@carlosbecker.com>
|
||||||
|
Installed-Size: 10
|
||||||
|
Homepage: http://carlosbecker.com
|
||||||
|
Description: Foo does things
|
Loading…
Reference in New Issue