diff --git a/pipeline/fpm/fpm.go b/pipeline/fpm/fpm.go index 8fc5ce3f7..e70c669cd 100644 --- a/pipeline/fpm/fpm.go +++ b/pipeline/fpm/fpm.go @@ -46,7 +46,7 @@ func (Pipe) Run(ctx *context.Context) error { arch := archFor(platform) for folder, binaries := range groups { g.Go(func() error { - return create(ctx, format, folder, arch, binaries) + return create(ctx, format, folder, arch, platform, binaries) }) } } @@ -61,7 +61,7 @@ func archFor(key string) string { return "x86_64" } -func create(ctx *context.Context, format, folder, arch string, binaries []context.Binary) error { +func create(ctx *context.Context, format, folder, arch, platform string, binaries []context.Binary) error { var path = filepath.Join(ctx.Config.Dist, folder) var file = path + "." + format log.WithField("file", file).Info("creating fpm archive") @@ -99,6 +99,11 @@ func create(ctx *context.Context, format, folder, arch string, binaries []contex options = append(options, "--conflicts", conflict) } + // FPM requires --rpm-os=linux if your rpm target is linux + if format == "rpm" && strings.Contains(platform, "linux") { + options = append(options, "--rpm-os", "linux") + } + for _, binary := range binaries { // This basically tells fpm to put the binary in the /usr/local/bin // binary=/usr/local/bin/binary