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. 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):