Skip to content

Commit ec33ace

Browse files
committed
project: fix arch<->uname mapping
1 parent 07104ee commit ec33ace

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

src/warnet/project.py

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,25 @@ def get_latest_version_of_helm() -> Optional[str]:
437437
return None
438438

439439

440+
def query_arch_from_uname(arch: str) -> Optional[str]:
441+
if arch.startswith("armv5"):
442+
return "armv5"
443+
elif arch.startswith("armv6"):
444+
return "armv6"
445+
elif arch.startswith("armv7"):
446+
return "arm"
447+
elif arch == "aarch64":
448+
return "arm64"
449+
elif arch == "x86":
450+
return "386"
451+
elif arch == "x86_64":
452+
return "amd64"
453+
elif arch == "i686" or arch == "i386":
454+
return "386"
455+
else:
456+
return None
457+
458+
440459
def write_blessed_checksum(helm_filename: str, dest_path: str):
441460
checksum = next(
442461
(b["checksum"] for b in HELM_BLESSED_NAME_AND_CHECKSUMS if b["name"] == helm_filename), None
@@ -488,21 +507,9 @@ def install_helm_rootlessly_to_venv():
488507
)
489508
sys.exit(1)
490509

491-
arch = os.uname().machine
492-
arch_map = {
493-
"x86_64": "amd64", # Maps 'x86_64' to 'amd64'
494-
"i686": "i386", # Maps 'i686' to 'i386'
495-
"i386": "i386", # Maps 'i386' to 'i386'
496-
"aarch64": "arm64", # Maps 'aarch64' (common on newer ARM) to 'arm64'
497-
"armv7l": "arm", # Maps 'armv7l' to 'arm' (32-bit ARM)
498-
"armv6l": "arm", # Maps 'armv6l' to 'arm' (32-bit ARM)
499-
"ppc64le": "ppc64le", # PowerPC Little Endian
500-
"s390x": "s390x", # IBM s390x architecture
501-
"riscv64": "riscv64", # RISC-V 64-bit
502-
}
503-
if arch in arch_map:
504-
arch = arch_map[arch]
505-
else:
510+
uname_arch = os.uname().machine
511+
arch = query_arch_from_uname(uname_arch)
512+
if not arch:
506513
click.secho(f"No Helm binary candidate for arch: {arch}", fg="red")
507514
sys.exit(1)
508515

0 commit comments

Comments
 (0)