From ec6bed1d01af2bc84150b72b50afc3e5e656ad34 Mon Sep 17 00:00:00 2001 From: Marius Hoch Date: Mon, 4 Oct 2021 15:46:18 +0200 Subject: [PATCH 1/2] rpm: Properly detect other ARMv7 (32 Bit) arches Like it is currently being done for the different x86 arches (i386, i486, ...). --- salt/utils/pkg/rpm.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/salt/utils/pkg/rpm.py b/salt/utils/pkg/rpm.py index e80a01f92f57..f9975f8dff12 100644 --- a/salt/utils/pkg/rpm.py +++ b/salt/utils/pkg/rpm.py @@ -30,7 +30,16 @@ "alphaev68", "alphaev7", ) -ARCHES_ARM = ("armv5tel", "armv5tejl", "armv6l", "armv7l", "aarch64") +ARCHES_ARM_32 = ( + "armv5tel", + "armv5tejl", + "armv6l", + "armv6hl", + "armv7l", + "armv7hl", + "armv7hnl", +) +ARCHES_ARM_64 = ("aarch64",) ARCHES_SH = ("sh3", "sh4", "sh4a") ARCHES = ( @@ -39,7 +48,8 @@ + ARCHES_PPC + ARCHES_S390 + ARCHES_ALPHA - + ARCHES_ARM + + ARCHES_ARM_32 + + ARCHES_ARM_64 + ARCHES_SH ) @@ -66,11 +76,13 @@ def get_osarch(): def check_32(arch, osarch=None): """ - Returns True if both the OS arch and the passed arch are 32-bit + Returns True if both the OS arch and the passed arch are x86 or ARM 32-bit """ if osarch is None: osarch = get_osarch() - return all(x in ARCHES_32 for x in (osarch, arch)) + return all(x in ARCHES_32 for x in (osarch, arch)) or all( + x in ARCHES_ARM_32 for x in (osarch, arch) + ) def pkginfo(name, version, arch, repoid, install_date=None, install_date_time_t=None): From 591ab1b2d298352d8c7c830fd34731e2865dedee Mon Sep 17 00:00:00 2001 From: Marius Hoch Date: Fri, 25 Nov 2022 23:01:58 +0100 Subject: [PATCH 2/2] Add changelog for #60994 --- changelog/60994.fixed | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/60994.fixed diff --git a/changelog/60994.fixed b/changelog/60994.fixed new file mode 100644 index 000000000000..3c4be7014888 --- /dev/null +++ b/changelog/60994.fixed @@ -0,0 +1 @@ +Fixed recognizing installed ARMv7 rpm packages in compatible architectures.