github.com/ahmet2mir/goreleaser@v0.180.3-0.20210927151101-8e5ee5a9b8c5/internal/linux/arch.go (about) 1 // Package linux contains functions that are useful to generate linux packages. 2 package linux 3 4 import "strings" 5 6 // Arch converts a goarch to a linux-compatible arch. 7 func Arch(key string) string { 8 // XXX: list of all linux arches: `go tool dist list | grep linux` 9 arch := strings.TrimPrefix(key, "linux") 10 for _, suffix := range []string{"hardfloat", "softfloat"} { 11 arch = strings.TrimSuffix(arch, suffix) 12 } 13 switch arch { 14 case "386": 15 return "i386" 16 case "amd64": 17 return "amd64" 18 case "arm5": // GOARCH + GOARM 19 return "armel" 20 case "arm6": // GOARCH + GOARM 21 return "armhf" 22 case "arm7": // GOARCH + GOARM 23 return "armhf" 24 case "mips64le": 25 return "mips64el" 26 case "mipsle": 27 return "mipsel" 28 } 29 return arch 30 }