- Fix: Treat x86_64_v2 as x86_64 in architecture checks

This commit is contained in:
eabdullin 2024-09-02 23:30:03 +03:00
parent 0c62987083
commit 2ec8cfdba7
2 changed files with 65 additions and 2 deletions

View File

@ -0,0 +1,58 @@
From 834feed695b5cb5ea27aaa23936eaeda2372b56b Mon Sep 17 00:00:00 2001
From: eabdullin <ed.abdullin.1@gmail.com>
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)

View File

@ -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 <eabdullin@almalinux.org> - 4.19.1.1-3.alma.1
- Fix: Treat x86_64_v2 as x86_64 in architecture checks
* Tue Aug 13 2024 Michal Domonkos <mdomonko@redhat.com> - 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 <pmatilai@redhat.com> - 4.13.90-0.git14000.1
- Rebase to rpm 4.13.90 aka 4.14.0-alpha (#1474836)