52 lines
1.5 KiB
Diff
52 lines
1.5 KiB
Diff
From 486798b19df2dc933e1814e9d56c03833e9f572e Mon Sep 17 00:00:00 2001
|
|
From: eabdullin <ed.abdullin.1@gmail.com>
|
|
Date: Wed, 16 Oct 2024 11:07:36 +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 | 10 ++++++----
|
|
build/parseSpec.c | 4 ++++
|
|
2 files changed, 10 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/build/parsePreamble.c b/build/parsePreamble.c
|
|
index de205d5..da1867c 100644
|
|
--- a/build/parsePreamble.c
|
|
+++ b/build/parsePreamble.c
|
|
@@ -424,11 +424,13 @@ static int isMemberInEntry(Header h, const char *name, rpmTagVal tag)
|
|
if (!headerGet(h, tag, &td, HEADERGET_MINMEM))
|
|
return -1;
|
|
|
|
+ int is_not_v2 = rstrcasecmp(name, "x86_64_v2");
|
|
+
|
|
while ((str = rpmtdNextString(&td))) {
|
|
- if (!rstrcasecmp(str, name)) {
|
|
- found = 1;
|
|
- break;
|
|
- }
|
|
+ if (!rstrcasecmp(str, name) || (!is_not_v2 && !rstrcasecmp(str, "x86_64"))) {
|
|
+ found = 1;
|
|
+ break;
|
|
+ }
|
|
}
|
|
rpmtdFreeData(&td);
|
|
|
|
diff --git a/build/parseSpec.c b/build/parseSpec.c
|
|
index 3929c0a..ae918ef 100644
|
|
--- a/build/parseSpec.c
|
|
+++ b/build/parseSpec.c
|
|
@@ -425,6 +425,10 @@ do { \
|
|
return PART_ERROR; \
|
|
} \
|
|
match = matchTok(exp, s); \
|
|
+ /* Additional check for x86_64_v2 */ \
|
|
+ if (!match && !strcmp(exp, "x86_64_v2")) { \
|
|
+ match = matchTok("x86_64", s); \
|
|
+ } \
|
|
free(exp); \
|
|
} while (0)
|
|
|
|
--
|
|
2.39.5 (Apple Git-154)
|
|
|