From 7164aac0b42292bf71c986bf72b4b3cae2dea087 Mon Sep 17 00:00:00 2001 From: Arsen Musayelyan Date: Wed, 30 Nov 2022 22:02:36 -0800 Subject: [PATCH] Create function for getting canonical CPU architecture --- build.go | 21 +++------------------ internal/cpu/cpu.go | 9 +++++++++ 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/build.go b/build.go index a83831f..4979b6d 100644 --- a/build.go +++ b/build.go @@ -329,7 +329,7 @@ func buildPackage(ctx context.Context, script string, mgr manager.Manager) ([]st pkgInfo := &nfpm.Info{ Name: vars.Name, Description: vars.Description, - Arch: runtime.GOARCH, + Arch: cpu.Arch(), Version: vars.Version, Release: strconv.Itoa(vars.Release), Homepage: vars.Homepage, @@ -353,10 +353,6 @@ func buildPackage(ctx context.Context, script string, mgr manager.Manager) ([]st pkgInfo.Arch = "all" } - if pkgInfo.Arch == "arm" { - pkgInfo.Arch = cpu.ARMVariant() - } - contents := []*files.Content{} filepath.Walk(pkgdir, func(path string, fi os.FileInfo, err error) error { trimmed := strings.TrimPrefix(path, pkgdir) @@ -479,11 +475,6 @@ func buildPackage(ctx context.Context, script string, mgr manager.Manager) ([]st func genBuildEnv(info *distro.OSRelease) []string { env := os.Environ() - arch := runtime.GOARCH - if arch == "arm" { - arch = cpu.ARMVariant() - } - env = append( env, "DISTRO_NAME="+info.Name, @@ -492,7 +483,7 @@ func genBuildEnv(info *distro.OSRelease) []string { "DISTRO_VERSION_ID="+info.VersionID, "DISTRO_ID_LIKE="+strings.Join(info.Like, " "), - "ARCH="+arch, + "ARCH="+cpu.Arch(), "NCPU="+strconv.Itoa(runtime.NumCPU()), ) @@ -621,17 +612,11 @@ func archMatches(architectures []string) bool { return true } - arch := runtime.GOARCH - - if arch == "arm" { - arch = cpu.ARMVariant() - } - if slices.Contains(architectures, "arm") { architectures = append(architectures, cpu.ARMVariant()) } - return slices.Contains(architectures, arch) + return slices.Contains(architectures, cpu.Arch()) } func setVersion(ctx context.Context, r *interp.Runner, to string) error { diff --git a/internal/cpu/cpu.go b/internal/cpu/cpu.go index 064eb7d..6a213ca 100644 --- a/internal/cpu/cpu.go +++ b/internal/cpu/cpu.go @@ -20,6 +20,7 @@ package cpu import ( "os" + "runtime" "strings" "golang.org/x/sys/cpu" @@ -42,3 +43,11 @@ func ARMVariant() string { return "arm5" } } + +func Arch() string { + arch := runtime.GOARCH + if arch == "arm" { + arch = ARMVariant() + } + return arch +}