Skip to content

Commit c500e07

Browse files
committed
Add arm64 arch support to googet.
1 parent 6427b58 commit c500e07

File tree

6 files changed

+14
-9
lines changed

6 files changed

+14
-9
lines changed

client/client_test.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,13 @@ func TestFindRepoLatest(t *testing.T) {
132132
{
133133
desc: "name and arch",
134134
pi: goolib.PackageInfo{Name: "foo_pkg", Arch: "noarch"},
135-
archs: []string{"noarch", "x86_64"},
135+
archs: []string{"noarch", "x86_64", "arm64"},
136136
rm: RepoMap{
137137
"foo_repo": Repo{Packages: []goolib.RepoSpec{
138138
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "1.2.3@4", Arch: "noarch"}},
139139
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "2.0.0@1", Arch: "x86_64"}},
140140
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "1.0.0@1", Arch: "noarch"}},
141+
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "3.0.0@1", Arch: "arm64"}},
141142
{PackageSpec: &goolib.PkgSpec{Name: "bar_pkg", Version: "2.3.0@1", Arch: "noarch"}},
142143
}},
143144
},
@@ -148,12 +149,13 @@ func TestFindRepoLatest(t *testing.T) {
148149
{
149150
desc: "name only",
150151
pi: goolib.PackageInfo{Name: "foo_pkg"},
151-
archs: []string{"noarch", "x86_64"},
152+
archs: []string{"noarch", "x86_64", "arm64"},
152153
rm: RepoMap{
153154
"foo_repo": Repo{Packages: []goolib.RepoSpec{
154155
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "1.2.3@4", Arch: "noarch"}},
155156
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "2.0.0@1", Arch: "x86_64"}},
156157
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "1.0.0@1", Arch: "noarch"}},
158+
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "3.0.0@1", Arch: "arm64"}},
157159
{PackageSpec: &goolib.PkgSpec{Name: "bar_pkg", Version: "2.3.0@1", Arch: "noarch"}},
158160
}},
159161
},
@@ -164,7 +166,7 @@ func TestFindRepoLatest(t *testing.T) {
164166
{
165167
desc: "specified arch not present",
166168
pi: goolib.PackageInfo{Name: "foo_pkg", Arch: "x86_64"},
167-
archs: []string{"noarch", "x86_64"},
169+
archs: []string{"noarch", "x86_64", "arm64"},
168170
rm: RepoMap{
169171
"foo_repo": Repo{Packages: []goolib.RepoSpec{
170172
{PackageSpec: &goolib.PkgSpec{Name: "foo_pkg", Version: "1.2.3@4", Arch: "noarch"}},
@@ -177,7 +179,7 @@ func TestFindRepoLatest(t *testing.T) {
177179
{
178180
desc: "multiple repos with same priority",
179181
pi: goolib.PackageInfo{Name: "foo_pkg", Arch: "noarch"},
180-
archs: []string{"noarch", "x86_64"},
182+
archs: []string{"noarch", "x86_64", "arm64"},
181183
rm: RepoMap{
182184
"foo_repo": Repo{
183185
Priority: 500,
@@ -199,7 +201,7 @@ func TestFindRepoLatest(t *testing.T) {
199201
{
200202
desc: "multiple repos with different priority",
201203
pi: goolib.PackageInfo{Name: "foo_pkg", Arch: "noarch"},
202-
archs: []string{"noarch", "x86_64"},
204+
archs: []string{"noarch", "x86_64", "arm64"},
203205
rm: RepoMap{
204206
"high_priority_repo": Repo{
205207
Priority: 1500,

googet_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func TestReadConf(t *testing.T) {
128128
t.Fatalf("error creating conf file: %v", err)
129129
}
130130

131-
content := []byte("archs: [noarch, x86_64]\ncachelife: 10m\nallowunsafeurl: true")
131+
content := []byte("archs: [noarch, x86_64, arm64]\ncachelife: 10m\nallowunsafeurl: true")
132132
if _, err := f.Write(content); err != nil {
133133
t.Fatalf("error writing conf file: %v", err)
134134
}
@@ -138,7 +138,7 @@ func TestReadConf(t *testing.T) {
138138

139139
readConf(confPath)
140140

141-
ea := []string{"noarch", "x86_64"}
141+
ea := []string{"noarch", "x86_64", "arm64"}
142142
if !reflect.DeepEqual(archs, ea) {
143143
t.Errorf("readConf did not create expected arch list, want: %s, got: %s", ea, archs)
144144
}

goolib/goospec.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ const (
6969
maxTagValueSize = 1024 * 10 // 10k
7070
)
7171

72-
var validArch = []string{"noarch", "x86_64", "x86_32", "arm"}
72+
var validArch = []string{"noarch", "x86_64", "x86_32", "arm", "arm64"}
7373

7474
// PkgSpec is an individual package specification.
7575
type PkgSpec struct {

install/install_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ func TestMinInstalled(t *testing.T) {
5959
{"foo_pkg", "noarch", true},
6060
{"foo_pkg", "", true},
6161
{"foo_pkg", "x86_64", false},
62+
{"foo_pkg", "arm64", false},
6263
{"bar_pkg", "noarch", false},
6364
{"baz_pkg", "noarch", false},
6465
}

system/system_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,5 @@ func Uninstall(dir string, ps *goolib.PkgSpec) error {
7272
// InstallableArchs returns a slice of archs supported by this machine.
7373
func InstallableArchs() ([]string, error) {
7474
// Just return all archs as Linux builds are currently just used for testing.
75-
return []string{"noarch", "x86_64", "x86_32", "arm"}, nil
75+
return []string{"noarch", "x86_64", "x86_32", "arm", "arm64"}, nil
7676
}

system/system_windows.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,8 @@ func InstallableArchs() ([]string, error) {
301301
return []string{"noarch", "x86_32", "x86_64"}, nil
302302
case runtime.GOARCH == "arm":
303303
return []string{"noarch", "arm"}, nil
304+
case runtime.GOARCH == "arm64":
305+
return []string{"noarch", "x86_32", "x86_64", "arm64"}, nil
304306
default:
305307
return nil, fmt.Errorf("runtime %s not supported", runtime.GOARCH)
306308
}

0 commit comments

Comments
 (0)