- Update patch: Fix: Treat x86_64_v2 as x86_64 in architecture checks
This commit is contained in:
parent
2ec8cfdba7
commit
22148b688e
@ -1,58 +1,51 @@
|
|||||||
From 834feed695b5cb5ea27aaa23936eaeda2372b56b Mon Sep 17 00:00:00 2001
|
From 486798b19df2dc933e1814e9d56c03833e9f572e Mon Sep 17 00:00:00 2001
|
||||||
From: eabdullin <ed.abdullin.1@gmail.com>
|
From: eabdullin <ed.abdullin.1@gmail.com>
|
||||||
Date: Tue, 9 Jul 2024 17:03:27 +0300
|
Date: Wed, 16 Oct 2024 11:07:36 +0300
|
||||||
Subject: [PATCH] Fix: Treat x86_64_v2 as x86_64 in architecture checks
|
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.
|
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/parsePreamble.c | 10 ++++++----
|
||||||
build/parseSpec.c | 17 +++++++++++++++++
|
build/parseSpec.c | 4 ++++
|
||||||
2 files changed, 21 insertions(+)
|
2 files changed, 10 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/build/parsePreamble.c b/build/parsePreamble.c
|
diff --git a/build/parsePreamble.c b/build/parsePreamble.c
|
||||||
index de205d5..a8f3b47 100644
|
index de205d5..da1867c 100644
|
||||||
--- a/build/parsePreamble.c
|
--- a/build/parsePreamble.c
|
||||||
+++ b/build/parsePreamble.c
|
+++ b/build/parsePreamble.c
|
||||||
@@ -425,6 +425,10 @@ static int isMemberInEntry(Header h, const char *name, rpmTagVal tag)
|
@@ -424,11 +424,13 @@ static int isMemberInEntry(Header h, const char *name, rpmTagVal tag)
|
||||||
|
if (!headerGet(h, tag, &td, HEADERGET_MINMEM))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
+ int is_not_v2 = rstrcasecmp(name, "x86_64_v2");
|
||||||
|
+
|
||||||
while ((str = rpmtdNextString(&td))) {
|
while ((str = rpmtdNextString(&td))) {
|
||||||
+ if (!rstrcasecmp(str, "x86_64") && !rstrcasecmp(name, "x86_64_v2")) {
|
- if (!rstrcasecmp(str, name)) {
|
||||||
+ found = 1;
|
- found = 1;
|
||||||
+ break;
|
- break;
|
||||||
+ }
|
- }
|
||||||
if (!rstrcasecmp(str, name)) {
|
+ if (!rstrcasecmp(str, name) || (!is_not_v2 && !rstrcasecmp(str, "x86_64"))) {
|
||||||
found = 1;
|
+ found = 1;
|
||||||
break;
|
+ break;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
rpmtdFreeData(&td);
|
||||||
|
|
||||||
diff --git a/build/parseSpec.c b/build/parseSpec.c
|
diff --git a/build/parseSpec.c b/build/parseSpec.c
|
||||||
index d6e998a..102ce5b 100644
|
index 3929c0a..ae918ef 100644
|
||||||
--- a/build/parseSpec.c
|
--- a/build/parseSpec.c
|
||||||
+++ b/build/parseSpec.c
|
+++ b/build/parseSpec.c
|
||||||
@@ -425,7 +425,24 @@ do { \
|
@@ -425,6 +425,10 @@ do { \
|
||||||
return PART_ERROR; \
|
return PART_ERROR; \
|
||||||
} \
|
} \
|
||||||
match = matchTok(exp, s); \
|
match = matchTok(exp, s); \
|
||||||
+ /* Additional check for x86_64_v2 */ \
|
+ /* Additional check for x86_64_v2 */ \
|
||||||
+ char *s_copy = strdup(s); \
|
+ if (!match && !strcmp(exp, "x86_64_v2")) { \
|
||||||
+ if (s_copy == NULL) { \
|
+ match = matchTok("x86_64", s); \
|
||||||
+ 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(exp); \
|
||||||
+ free(s_copy); \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
2.39.3 (Apple Git-146)
|
2.39.5 (Apple Git-154)
|
||||||
|
|
||||||
|
5
rpm.spec
5
rpm.spec
@ -36,7 +36,7 @@
|
|||||||
Summary: The RPM package management system
|
Summary: The RPM package management system
|
||||||
Name: rpm
|
Name: rpm
|
||||||
Version: %{rpmver}
|
Version: %{rpmver}
|
||||||
Release: %{?snapver:0.%{snapver}.}%{baserelease}%{?dist}.alma.1
|
Release: %{?snapver:0.%{snapver}.}%{baserelease}%{?dist}.alma.2
|
||||||
Url: http://www.rpm.org/
|
Url: http://www.rpm.org/
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
Source0: http://ftp.rpm.org/releases/%{srcdir}/rpm-%{srcver}.tar.bz2
|
Source0: http://ftp.rpm.org/releases/%{srcdir}/rpm-%{srcver}.tar.bz2
|
||||||
@ -619,6 +619,9 @@ fi
|
|||||||
%doc %{_defaultdocdir}/rpm/API/
|
%doc %{_defaultdocdir}/rpm/API/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 16 2024 Eduard Abdullin <eabdullin@almalinux.org> - 4.19.1.1-3.alma.2
|
||||||
|
- Update patch: Fix: Treat x86_64_v2 as x86_64 in architecture checks
|
||||||
|
|
||||||
* Thu Aug 01 2024 Eduard Abdullin <eabdullin@almalinux.org> - 4.19.1.1-3.alma.1
|
* 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
|
- Fix: Treat x86_64_v2 as x86_64 in architecture checks
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user