diff --git a/0001-Fix-Treat-x86_64_v2-as-x86_64-in-architecture-checks.patch b/0001-Fix-Treat-x86_64_v2-as-x86_64-in-architecture-checks.patch new file mode 100644 index 0000000..74308b3 --- /dev/null +++ b/0001-Fix-Treat-x86_64_v2-as-x86_64-in-architecture-checks.patch @@ -0,0 +1,58 @@ +From 834feed695b5cb5ea27aaa23936eaeda2372b56b Mon Sep 17 00:00:00 2001 +From: eabdullin +Date: Tue, 9 Jul 2024 17:03:27 +0300 +Subject: [PATCH] Fix: Treat x86_64_v2 as x86_64 in architecture checks + +This change allows spec files to use x86_64_v2 as an alias for x86_64, ensuring compatibility with packages and build scripts expecting x86_64. +--- + build/parsePreamble.c | 4 ++++ + build/parseSpec.c | 17 +++++++++++++++++ + 2 files changed, 21 insertions(+) + +diff --git a/build/parsePreamble.c b/build/parsePreamble.c +index de205d5..a8f3b47 100644 +--- a/build/parsePreamble.c ++++ b/build/parsePreamble.c +@@ -425,6 +425,10 @@ static int isMemberInEntry(Header h, const char *name, rpmTagVal tag) + return -1; + + while ((str = rpmtdNextString(&td))) { ++ if (!rstrcasecmp(str, "x86_64") && !rstrcasecmp(name, "x86_64_v2")) { ++ found = 1; ++ break; ++ } + if (!rstrcasecmp(str, name)) { + found = 1; + break; +diff --git a/build/parseSpec.c b/build/parseSpec.c +index d6e998a..102ce5b 100644 +--- a/build/parseSpec.c ++++ b/build/parseSpec.c +@@ -425,7 +425,24 @@ do { \ + return PART_ERROR; \ + } \ + match = matchTok(exp, s); \ ++ /* Additional check for x86_64_v2 */ \ ++ char *s_copy = strdup(s); \ ++ if (s_copy == NULL) { \ ++ rpmlog(RPMLOG_ERR, _("Memory allocation error\n")); \ ++ return PART_ERROR; \ ++ } \ ++ char *newline = strchr(s_copy, '\n'); \ ++ if (newline) *newline = '\0'; \ ++ char *token_ptr = strtok(s_copy, " "); \ ++ while (token_ptr != NULL) { \ ++ if (!match && strcmp(token_ptr, "x86_64") == 0 && strcmp(exp, "x86_64_v2") == 0) { \ ++ match = 1; \ ++ break; \ ++ } \ ++ token_ptr = strtok(NULL, " "); \ ++ } \ + free(exp); \ ++ free(s_copy); \ + } while (0) + + +-- +2.39.3 (Apple Git-146) + diff --git a/rpm.spec b/rpm.spec index 03de2f1..34747ad 100644 --- a/rpm.spec +++ b/rpm.spec @@ -36,7 +36,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: %{?snapver:0.%{snapver}.}%{baserelease}%{?dist} +Release: %{?snapver:0.%{snapver}.}%{baserelease}%{?dist}.alma.1 Url: http://www.rpm.org/ License: GPL-2.0-or-later Source0: http://ftp.rpm.org/releases/%{srcdir}/rpm-%{srcver}.tar.bz2 @@ -124,6 +124,9 @@ Requires(pre): findutils Requires(pre): sed %patchlist +# AlmaLinux specific patches +0001-Fix-Treat-x86_64_v2-as-x86_64-in-architecture-checks.patch + # Set rpmdb path to /usr/lib/sysimage/rpm rpm-4.17.x-rpm_dbpath.patch # Disable autoconf config.site processing (#962837) @@ -616,6 +619,9 @@ fi %doc %{_defaultdocdir}/rpm/API/ %changelog +* Thu Aug 01 2024 Eduard Abdullin - 4.19.1.1-3.alma.1 +- Fix: Treat x86_64_v2 as x86_64 in architecture checks + * Tue Aug 13 2024 Michal Domonkos - 4.19.1.1-3 - Fix potential use of uninitialized pipe array (RHEL-54012) - Fix potential use of uninitialized pgp struct (RHEL-54013) @@ -1343,4 +1349,3 @@ fi * Thu Aug 10 2017 Panu Matilainen - 4.13.90-0.git14000.1 - Rebase to rpm 4.13.90 aka 4.14.0-alpha (#1474836) -