1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-02-05 13:15:26 +02:00

feat: upgrade nfpm (#1968)

* feat: upgrade nfpm

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* feat: upgrade nfpm

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* docs: nfpm

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit is contained in:
Carlos Alexandro Becker 2020-12-28 14:40:23 -03:00 committed by GitHub
parent 28562a319e
commit 20bdf9def1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 66 additions and 27 deletions

4
go.mod
View File

@ -13,7 +13,7 @@ require (
github.com/golangci/golangci-lint v1.33.0
github.com/google/go-github/v28 v28.1.1
github.com/goreleaser/fileglob v0.3.1
github.com/goreleaser/nfpm/v2 v2.0.0
github.com/goreleaser/nfpm/v2 v2.1.0
github.com/imdario/mergo v0.3.11
github.com/jarcoal/httpmock v1.0.6
github.com/mattn/go-shellwords v1.0.10
@ -30,5 +30,3 @@ require (
// https://github.com/mattn/go-shellwords/pull/39
replace github.com/mattn/go-shellwords => github.com/caarlos0/go-shellwords v1.0.11
replace github.com/google/rpmpack => github.com/djgilcrease/rpmpack v0.0.0-20201221224521-5ac1d3b45cee

8
go.sum
View File

@ -198,8 +198,6 @@ github.com/dimchansky/utfbom v1.1.0 h1:FcM3g+nofKgUteL8dm/UpdRXNC9KmADgTpLKsu0TR
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
github.com/djgilcrease/rpmpack v0.0.0-20201221224521-5ac1d3b45cee h1:2u15NiDCpocHztN+7rvPuklKbmzeZDXmRu6qk49bll8=
github.com/djgilcrease/rpmpack v0.0.0-20201221224521-5ac1d3b45cee/go.mod h1:+y9lKiqDhR4zkLl+V9h4q0rdyrYVsWWm6LLCQP33DIk=
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
@ -380,6 +378,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf
github.com/google/pprof v0.0.0-20200905233945-acf8798be1f7/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/rpmpack v0.0.0-20201225075926-0a97c2c4b688 h1:jyGRCFMyDK/gKe6QRZQWci5+wEUBFElvxLHs3iwO3hY=
github.com/google/rpmpack v0.0.0-20201225075926-0a97c2c4b688/go.mod h1:+y9lKiqDhR4zkLl+V9h4q0rdyrYVsWWm6LLCQP33DIk=
github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
@ -400,8 +400,8 @@ github.com/goreleaser/chglog v0.1.2 h1:tdzAb/ILeMnphzI9zQ7Nkq+T8R9qyXli8GydD8plF
github.com/goreleaser/chglog v0.1.2/go.mod h1:tTZsFuSZK4epDXfjMkxzcGbrIOXprf0JFp47BjIr3B8=
github.com/goreleaser/fileglob v0.3.1 h1:OTFDWqUUHjQazk2N5GdUqEbqT/grBnRARaAXsV07q1Y=
github.com/goreleaser/fileglob v0.3.1/go.mod h1:kNcPrPzjCp+Ox3jmXLU5QEsjhqrtLBm6OnXAif8KRl8=
github.com/goreleaser/nfpm/v2 v2.0.0 h1:bsYhHEpJjLbgOuhKgPpdxVA6Ni7Zvrx6tRRkw3km2uo=
github.com/goreleaser/nfpm/v2 v2.0.0/go.mod h1:CwZQFnLAUvqz3H1ijvb8SfTz1LYuw+DznSLOQ8uth8s=
github.com/goreleaser/nfpm/v2 v2.1.0 h1:FumVnlopJ280VDfsLv89fqxcuk82UP+fdinnCqmden4=
github.com/goreleaser/nfpm/v2 v2.1.0/go.mod h1:GCkOXaUGhQtItbYMqLso9oVIlsfF6NON8OnNJA3KB38=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=

View File

@ -102,6 +102,10 @@ func (Pipe) Default(ctx *context.Context) error {
}
deprecate.Notice(ctx, "nfpms.rpm.config_noreplace_files")
}
if fpm.Deb.VersionMetadata != "" {
deprecate.Notice(ctx, "nfpms.deb.version_metadata")
fpm.VersionMetadata = fpm.Deb.VersionMetadata
}
if len(fpm.Builds) == 0 {
for _, b := range ctx.Config.Builds {
@ -201,19 +205,21 @@ func create(ctx *context.Context, fpm config.NFPM, format, arch string, binaries
log.WithField("files", contents).Debug("all archive files")
var info = &nfpm.Info{
Arch: arch,
Platform: "linux",
Name: fpm.PackageName,
Version: ctx.Version,
Section: "",
Priority: "",
Epoch: fpm.Epoch,
Release: fpm.Release,
Maintainer: fpm.Maintainer,
Description: fpm.Description,
Vendor: fpm.Vendor,
Homepage: fpm.Homepage,
License: fpm.License,
Arch: arch,
Platform: "linux",
Name: fpm.PackageName,
Version: ctx.Version,
Section: "",
Priority: "",
Epoch: fpm.Epoch,
Release: fpm.Release,
Prerelease: fpm.Prerelease,
VersionMetadata: fpm.VersionMetadata,
Maintainer: fpm.Maintainer,
Description: fpm.Description,
Vendor: fpm.Vendor,
Homepage: fpm.Homepage,
License: fpm.License,
Overridables: nfpm.Overridables{
Conflicts: overridden.Conflicts,
Depends: overridden.Dependencies,
@ -241,8 +247,7 @@ func create(ctx *context.Context, fpm config.NFPM, format, arch string, binaries
ActivateAwait: overridden.Deb.Triggers.ActivateAwait,
ActivateNoAwait: overridden.Deb.Triggers.ActivateNoAwait,
},
Breaks: overridden.Deb.Breaks,
VersionMetadata: overridden.Deb.VersionMetadata,
Breaks: overridden.Deb.Breaks,
Signature: nfpm.DebSignature{
KeyFile: overridden.Deb.Signature.KeyFile,
KeyPassphrase: getPassphraseFromEnv(ctx, "DEB", fpm.ID),

View File

@ -329,6 +329,9 @@ func TestDefaultDeprecatedOptions(t *testing.T) {
"testdata/testfile.txt": "/etc/foo_keep.conf",
},
},
Deb: config.NFPMDeb{
VersionMetadata: "beta1",
},
},
},
},
@ -350,6 +353,7 @@ func TestDefaultDeprecatedOptions(t *testing.T) {
}, ctx.Config.NFPMs[0].Contents)
require.Equal(t, defaultNameTemplate, ctx.Config.NFPMs[0].FileNameTemplate)
require.Equal(t, ctx.Config.ProjectName, ctx.Config.NFPMs[0].PackageName)
require.Equal(t, "beta1", ctx.Config.NFPMs[0].VersionMetadata)
}
func TestDefaultSet(t *testing.T) {

View File

@ -400,6 +400,8 @@ type NFPMOverridables struct {
PackageName string `yaml:"package_name,omitempty"`
Epoch string `yaml:"epoch,omitempty"`
Release string `yaml:"release,omitempty"`
Prerelease string `yaml:"prerelease,omitempty"`
VersionMetadata string `yaml:"version_metadata,omitempty"`
Replacements map[string]string `yaml:",omitempty"`
Dependencies []string `yaml:",omitempty"`
Recommends []string `yaml:",omitempty"`

View File

@ -92,12 +92,20 @@ nfpms:
# Override default /usr/local/bin destination for binaries
bindir: /usr/bin
# Package epoch.
# Defaults to empty.
epoch: 1
# Version Epoch.
# Default is extracted from `version` if it is semver compatible.
epoch: 2
# Package release.
# Defaults to empty.
# Version Prerelease.
# Default is extracted from `version` if it is semver compatible.
prerelease: beta1
# Version Metadata (previously deb.metadata).
# Default is extracted from `version` if it is semver compatible.
# Setting metadata might interfere with version comparisons depending on the packager.
version_metadata: git
# Version Release.
release: 1
# Makes a meta package - an empty package that contains only supporting files and dependencies.

View File

@ -149,6 +149,28 @@ Change this:
```
### nfpms.deb.version_metadata
> since 2020-12-21 (v0.149.0)
`deb.version_metadata` is deprecated in favor of `version_metadata` (check [this page](https://goreleaser.com/customization/nfpm/) for more details):
Change this:
=== "Before"
```yaml
nfpms:
-
deb:
version_metadata: beta1
```
=== "After"
```yaml
-
version_metadata: beta1
```
### brews.github
> since 2020-07-06 (v0.139.0)