build: fix ARM architecture version in .deb packages after nfpm change

Fixes #5973
This commit is contained in:
Nick Craig-Wood 2022-02-02 11:48:29 +00:00
parent 3c271b8b1e
commit 3e125443aa

View file

@ -85,6 +85,13 @@ var archFlags = map[string][]string{
"arm-v7": {"GOARM=7"}, "arm-v7": {"GOARM=7"},
} }
// Map Go architectures to NFPM architectures
// Any missing are passed straight through
var goarchToNfpm = map[string]string{
"arm": "arm6",
"arm-v7": "arm7",
}
// runEnv - run a shell command with env // runEnv - run a shell command with env
func runEnv(args, env []string) error { func runEnv(args, env []string) error {
if *debug { if *debug {
@ -167,11 +174,15 @@ func buildDebAndRpm(dir, version, goarch string) []string {
pkgVersion := version[1:] pkgVersion := version[1:]
pkgVersion = strings.Replace(pkgVersion, "β", "-beta", -1) pkgVersion = strings.Replace(pkgVersion, "β", "-beta", -1)
pkgVersion = strings.Replace(pkgVersion, "-", ".", -1) pkgVersion = strings.Replace(pkgVersion, "-", ".", -1)
nfpmArch, ok := goarchToNfpm[goarch]
if !ok {
nfpmArch = goarch
}
// Make nfpm.yaml from the template // Make nfpm.yaml from the template
substitute("../bin/nfpm.yaml", path.Join(dir, "nfpm.yaml"), map[string]string{ substitute("../bin/nfpm.yaml", path.Join(dir, "nfpm.yaml"), map[string]string{
"Version": pkgVersion, "Version": pkgVersion,
"Arch": goarch, "Arch": nfpmArch,
}) })
// build them // build them
@ -377,7 +388,7 @@ func compileArch(version, goos, goarch, dir string) bool {
artifacts := []string{buildZip(dir)} artifacts := []string{buildZip(dir)}
// build a .deb and .rpm if appropriate // build a .deb and .rpm if appropriate
if goos == "linux" { if goos == "linux" {
artifacts = append(artifacts, buildDebAndRpm(dir, version, stripVersion(goarch))...) artifacts = append(artifacts, buildDebAndRpm(dir, version, goarch)...)
} }
if *copyAs != "" { if *copyAs != "" {
for _, artifact := range artifacts { for _, artifact := range artifacts {