// Package linux contains functions that are useful to generate linux packages. package linux import "strings" // Arch converts a goarch to a linux-compatible arch. func Arch(key string) string { // XXX: list of all linux arches: `go tool dist list | grep linux` arch := strings.TrimPrefix(key, "linux") for _, suffix := range []string{"hardfloat", "softfloat"} { arch = strings.TrimSuffix(arch, suffix) } switch arch { case "386": return "i386" case "amd64": return "amd64" case "arm5": // GOARCH + GOARM return "armel" case "arm6": // GOARCH + GOARM return "armhf" case "arm7": // GOARCH + GOARM return "armhf" case "mips64le": return "mips64el" case "mipsle": return "mipsel" } return arch }