rpm: Fix build with musl

(From OE-Core rev: cd610101dc8fcb0cabe351085d36823c5bd7eb19)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2024-01-02 00:29:42 -08:00
committed by Richard Purdie
parent 992d59564b
commit f99f55259d
3 changed files with 68 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
From 3fa2ae78db9b31edb4c22f3b5cd36c6c972947f1 Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Wed, 26 Jul 2023 15:01:35 +0200
Subject: [PATCH] Duplicate filename before passing it to basename
basename is allowed change the string passed to it. While we don't need
the filename after that just casting away the const seems a bit too
hacky.
Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/3fa2ae78db9b31edb4c22f3b5cd36c6c972947f1]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tools/rpmuncompress.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/rpmuncompress.c b/tools/rpmuncompress.c
index 58ddf5683..e13cc6a66 100644
--- a/tools/rpmuncompress.c
+++ b/tools/rpmuncompress.c
@@ -98,7 +98,8 @@ static char *doUntar(const char *fn)
if (needtar) {
rasprintf(&buf, "%s '%s' | %s %s -", zipper, fn, tar, taropts);
} else if (at->compressed == COMPRESSED_GEM) {
- const char *bn = basename(fn);
+ char *tmp = xstrdup(fn);
+ const char *bn = basename(tmp);
size_t nvlen = strlen(bn) - 3;
char *gem = rpmGetPath("%{__gem}", NULL);
char *gemspec = NULL;
@@ -112,6 +113,7 @@ static char *doUntar(const char *fn)
free(gemspec);
free(gem);
+ free(tmp);
} else {
rasprintf(&buf, "%s '%s'", zipper, fn);
}
--
2.43.0

View File

@@ -0,0 +1,26 @@
From b2e67642fd8cb64d8cb1cca9e759396c1c10807d Mon Sep 17 00:00:00 2001
From: Calvin Buckley <calvin@cmpct.info>
Date: Tue, 11 Jul 2023 19:22:41 -0300
Subject: [PATCH] Fix missing basename include on macOS
Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/b2e67642fd8cb64d8cb1cca9e759396c1c10807d]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tools/rpmuncompress.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/rpmuncompress.c b/tools/rpmuncompress.c
index bd4146d54..58ddf5683 100644
--- a/tools/rpmuncompress.c
+++ b/tools/rpmuncompress.c
@@ -1,6 +1,7 @@
#include "system.h"
#include <popt.h>
+#include <libgen.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
--
2.43.0

View File

@@ -40,6 +40,8 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protoc
file://0001-python-Use-Py_hash_t-instead-of-long-in-hdr_hash.patch \
file://fix-declaration.patch \
file://ea3187cfcf9cac87e5bc5e7db79b0338da9e355e.patch \
file://0001-Duplicate-filename-before-passing-it-to-basename.patch \
file://0001-Fix-missing-basename-include-on-macOS.patch \
"
PE = "1"