mirror of
https://github.com/goreleaser/nfpm
synced 2025-04-30 14:18:01 +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 */ -}}
|
||||
Package: {{.Info.Name}}
|
||||
Version: {{ if .Info.Epoch}}{{ .Info.Epoch }}:{{ end }}{{.Info.Version}}
|
||||
{{- if .Info.Release}}-{{ .Info.Release }}{{- end }}
|
||||
{{- if .Info.Prerelease}}~{{ .Info.Prerelease }}{{- end }}
|
||||
{{- if .Info.VersionMetadata}}+{{ .Info.VersionMetadata }}{{- end }}
|
||||
{{- if .Info.Release}}-{{ .Info.Release }}{{- end }}
|
||||
Section: {{.Info.Section}}
|
||||
Priority: {{.Info.Priority}}
|
||||
Architecture: {{.Info.Arch}}
|
||||
|
@ -157,7 +157,7 @@ func TestDebVersionWithReleaseAndPrerelease(t *testing.T) {
|
||||
err := writeControl(&buf, controlData{info, 0})
|
||||
require.NoError(t, err)
|
||||
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) {
|
||||
@ -260,6 +260,41 @@ func TestNoJoinsControl(t *testing.T) {
|
||||
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) {
|
||||
abs, err := filepath.Abs("../testdata/whatever.confzzz")
|
||||
require.NoError(t, err)
|
||||
|
9
deb/testdata/control4.golden
vendored
Normal file
9
deb/testdata/control4.golden
vendored
Normal file
@ -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
Block a user