mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-05-13 22:16:40 +02:00
feat: lintian overrides (#2892)
* feat: lintian overrides allow to more easily set lintian overrides Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * fix: lintian Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
This commit is contained in:
parent
a3f9b69e11
commit
02a94ce23e
@ -240,11 +240,6 @@ nfpms:
|
|||||||
dst: /usr/share/doc/goreleaser/copyright
|
dst: /usr/share/doc/goreleaser/copyright
|
||||||
file_info:
|
file_info:
|
||||||
mode: 0644
|
mode: 0644
|
||||||
- src: .lintian-overrides
|
|
||||||
dst: ./usr/share/lintian/overrides/goreleaser
|
|
||||||
packager: deb
|
|
||||||
file_info:
|
|
||||||
mode: 0644
|
|
||||||
formats:
|
formats:
|
||||||
- apk
|
- apk
|
||||||
- deb
|
- deb
|
||||||
@ -253,6 +248,10 @@ nfpms:
|
|||||||
- git
|
- git
|
||||||
recommends:
|
recommends:
|
||||||
- golang
|
- golang
|
||||||
|
deb:
|
||||||
|
lintian_overrides:
|
||||||
|
- statically-linked-binary
|
||||||
|
- changelog-file-missing-in-native-package
|
||||||
|
|
||||||
snapcrafts:
|
snapcrafts:
|
||||||
- name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
|
- name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
goreleaser: statically-linked-binary
|
|
||||||
goreleaser: changelog-file-missing-in-native-package
|
|
@ -186,6 +186,30 @@ func create(ctx *context.Context, fpm config.NFPM, format string, binaries []*ar
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(fpm.Deb.Lintian) > 0 {
|
||||||
|
lines := make([]string, 0, len(fpm.Deb.Lintian))
|
||||||
|
for _, ov := range fpm.Deb.Lintian {
|
||||||
|
lines = append(lines, fmt.Sprintf("%s: %s", fpm.PackageName, ov))
|
||||||
|
}
|
||||||
|
lintianPath := filepath.Join(ctx.Config.Dist, "deb", fpm.PackageName, ".lintian")
|
||||||
|
if err := os.MkdirAll(filepath.Dir(lintianPath), 0o755); err != nil {
|
||||||
|
return fmt.Errorf("failed to write lintian file: %w", err)
|
||||||
|
}
|
||||||
|
if err := os.WriteFile(lintianPath, []byte(strings.Join(lines, "\n")), 0o644); err != nil {
|
||||||
|
return fmt.Errorf("failed to write lintian file: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Infof("creating %q", lintianPath)
|
||||||
|
contents = append(contents, &files.Content{
|
||||||
|
Source: lintianPath,
|
||||||
|
Destination: filepath.Join("./usr/share/lintian/overrides", fpm.PackageName),
|
||||||
|
Packager: "deb",
|
||||||
|
FileInfo: &files.ContentFileInfo{
|
||||||
|
Mode: 0o644,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
log := log.WithField("package", fpm.PackageName).WithField("format", format).WithField("arch", arch)
|
log := log.WithField("package", fpm.PackageName).WithField("format", format).WithField("arch", arch)
|
||||||
|
|
||||||
// FPM meta package should not contain binaries at all
|
// FPM meta package should not contain binaries at all
|
||||||
|
@ -598,6 +598,10 @@ func TestDebSpecificConfig(t *testing.T) {
|
|||||||
Signature: config.NFPMDebSignature{
|
Signature: config.NFPMDebSignature{
|
||||||
KeyFile: "./testdata/privkey.gpg",
|
KeyFile: "./testdata/privkey.gpg",
|
||||||
},
|
},
|
||||||
|
Lintian: []string{
|
||||||
|
"statically-linked-binary",
|
||||||
|
"changelog-file-missing-in-native-package",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -633,6 +637,10 @@ func TestDebSpecificConfig(t *testing.T) {
|
|||||||
"NFPM_SOMEID_PASSPHRASE": "hunter2",
|
"NFPM_SOMEID_PASSPHRASE": "hunter2",
|
||||||
}
|
}
|
||||||
require.NoError(t, Pipe{}.Run(ctx))
|
require.NoError(t, Pipe{}.Run(ctx))
|
||||||
|
|
||||||
|
bts, err := os.ReadFile(filepath.Join(dist, "deb/foo/.lintian"))
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, "foo: statically-linked-binary\nfoo: changelog-file-missing-in-native-package", string(bts))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("packager specific passphrase set", func(t *testing.T) {
|
t.Run("packager specific passphrase set", func(t *testing.T) {
|
||||||
|
@ -615,6 +615,7 @@ type NFPMDeb struct {
|
|||||||
Triggers NFPMDebTriggers `yaml:"triggers,omitempty"`
|
Triggers NFPMDebTriggers `yaml:"triggers,omitempty"`
|
||||||
Breaks []string `yaml:"breaks,omitempty"`
|
Breaks []string `yaml:"breaks,omitempty"`
|
||||||
Signature NFPMDebSignature `yaml:"signature,omitempty"`
|
Signature NFPMDebSignature `yaml:"signature,omitempty"`
|
||||||
|
Lintian []string `yaml:"lintian_overrides,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type NFPMAPKScripts struct {
|
type NFPMAPKScripts struct {
|
||||||
|
@ -287,6 +287,11 @@ nfpms:
|
|||||||
|
|
||||||
# Custom configuration applied only to the Deb packager.
|
# Custom configuration applied only to the Deb packager.
|
||||||
deb:
|
deb:
|
||||||
|
# Lintian overrides
|
||||||
|
lintian_overrides:
|
||||||
|
- statically-linked-binary
|
||||||
|
- changelog-file-missing-in-native-package
|
||||||
|
|
||||||
# Custom deb special files.
|
# Custom deb special files.
|
||||||
scripts:
|
scripts:
|
||||||
# Deb rules script.
|
# Deb rules script.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user