2017-08-27 13:18:23 -03:00
|
|
|
// Package linux contains functions that are useful to generate linux packages.
|
|
|
|
package linux
|
|
|
|
|
|
|
|
import "strings"
|
|
|
|
|
2020-05-26 00:48:10 -03:00
|
|
|
// Arch converts a goarch to a linux-compatible arch.
|
2017-08-27 13:18:23 -03:00
|
|
|
func Arch(key string) string {
|
2020-05-26 00:48:10 -03:00
|
|
|
// XXX: list of all linux arches: `go tool dist list | grep linux`
|
2021-03-20 15:16:26 -03:00
|
|
|
arch := strings.TrimPrefix(key, "linux")
|
|
|
|
for _, suffix := range []string{"hardfloat", "softfloat"} {
|
|
|
|
arch = strings.TrimSuffix(arch, suffix)
|
|
|
|
}
|
2019-03-19 21:45:34 -03:00
|
|
|
switch arch {
|
|
|
|
case "386":
|
2017-08-27 13:18:23 -03:00
|
|
|
return "i386"
|
2019-03-19 21:45:34 -03:00
|
|
|
case "amd64":
|
|
|
|
return "amd64"
|
2019-05-29 09:09:52 -03:00
|
|
|
case "arm5": // GOARCH + GOARM
|
2018-04-13 22:59:38 +03:00
|
|
|
return "armel"
|
2019-05-29 09:09:52 -03:00
|
|
|
case "arm6": // GOARCH + GOARM
|
|
|
|
return "armhf"
|
2019-03-19 21:45:34 -03:00
|
|
|
case "arm7": // GOARCH + GOARM
|
2021-10-05 23:15:21 -03:00
|
|
|
return "armv7l"
|
2021-03-20 15:16:26 -03:00
|
|
|
case "mips64le":
|
|
|
|
return "mips64el"
|
|
|
|
case "mipsle":
|
|
|
|
return "mipsel"
|
2017-08-27 13:18:23 -03:00
|
|
|
}
|
2021-03-20 15:16:26 -03:00
|
|
|
return arch
|
2017-08-27 13:18:23 -03:00
|
|
|
}
|