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  }