summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/rpm/files')
-rw-r--r--app-arch/rpm/files/rpm-4.16.0-autotools.patch13
-rw-r--r--app-arch/rpm/files/rpm-4.17.0-libdir.patch (renamed from app-arch/rpm/files/rpm-4.16.1.3-libdir.patch)20
-rw-r--r--app-arch/rpm/files/rpm-4.18.1-musl-nls.patch42
-rw-r--r--app-arch/rpm/files/rpm-4.19.0-libdir.patch13
-rw-r--r--app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch17
-rw-r--r--app-arch/rpm/files/rpm-4.8.1-clang.patch52
6 files changed, 133 insertions, 24 deletions
diff --git a/app-arch/rpm/files/rpm-4.16.0-autotools.patch b/app-arch/rpm/files/rpm-4.16.0-autotools.patch
deleted file mode 100644
index 9b1f71ad86e5..000000000000
--- a/app-arch/rpm/files/rpm-4.16.0-autotools.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -uNr rpm-4.16.0.ORIG/configure.ac rpm-4.16.0/configure.ac
---- rpm-4.16.0.ORIG/configure.ac 2020-10-01 11:02:21.605485875 +0100
-+++ rpm-4.16.0/configure.ac 2020-10-01 11:05:34.077157904 +0100
-@@ -552,9 +552,6 @@
-
- AM_CONDITIONAL([BDB], [test "x$have_bdb" != "xno"])
- AM_CONDITIONAL([WITH_INTERNAL_DB],[test "x$have_bdb" = "xinternal"])
--if test "x$have_bdb" = "xinternal"; then
-- AC_CONFIG_SUBDIRS(db3)
--fi
-
-
- #=================
diff --git a/app-arch/rpm/files/rpm-4.16.1.3-libdir.patch b/app-arch/rpm/files/rpm-4.17.0-libdir.patch
index a2c95ff064e2..5bff26b71290 100644
--- a/app-arch/rpm/files/rpm-4.16.1.3-libdir.patch
+++ b/app-arch/rpm/files/rpm-4.17.0-libdir.patch
@@ -1,7 +1,6 @@
-diff -uNr rpm-4.16.1.3.ORIG/configure.ac rpm-4.16.1.3/configure.ac
---- rpm-4.16.1.3.ORIG/configure.ac 2021-04-13 19:32:35.630955569 +0100
-+++ rpm-4.16.1.3/configure.ac 2021-04-13 19:32:54.939623251 +0100
-@@ -957,13 +957,7 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -865,13 +865,7 @@ AC_ARG_WITH([rundir],
AC_DEFINE_UNQUOTED([RUNDIR],["${RUNDIR}"],[run-time variable directory])
AC_SUBST(RUNDIR)
@@ -16,19 +15,18 @@ diff -uNr rpm-4.16.1.3.ORIG/configure.ac rpm-4.16.1.3/configure.ac
AC_SUBST(RPMCONFIGDIR)
AC_SUBST(OBJDUMP)
-diff -uNr rpm-4.16.1.3.ORIG/rpm.am rpm-4.16.1.3/rpm.am
---- rpm-4.16.1.3.ORIG/rpm.am 2021-04-13 19:32:35.584956361 +0100
-+++ rpm-4.16.1.3/rpm.am 2021-04-13 19:32:54.940623234 +0100
-@@ -1,10 +1,8 @@
+--- a/rpm.am
++++ b/rpm.am
+@@ -1,10 +1,10 @@
# Internal binaries
--## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm
+ ## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm
-rpmlibexecdir = $(prefix)/lib/rpm
+rpmlibexecdir = $(pkglibexecdir)
# Host independent config files
--## HACK: it probably should be $(datadir)/rpm
+ ## HACK: it probably should be $(datadir)/rpm
-rpmconfigdir = $(prefix)/lib/rpm
+rpmconfigdir = $(pkglibexecdir)
# Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 10:3:1
+ rpm_version_info = 11:0:2
diff --git a/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch b/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch
new file mode 100644
index 000000000000..7d1fde28bacf
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch
@@ -0,0 +1,42 @@
+https://bugs.gentoo.org/888954
+https://github.com/rpm-software-management/rpm/commit/f401979a4c4829d68e9614860644bdb74b6dda66
+
+From da222f0d82721d17e57d491d2749a4bc44754b9d Mon Sep 17 00:00:00 2001
+From: Takuya Wakazono <pastalian46@gmail.com>
+Date: Thu, 18 Jan 2024 18:41:11 +0900
+Subject: [PATCH] Don't use _nl_msg_cat_cntr if __GLIC__ is not defined
+
+musl doesn't need to use libintl from GNU gettext because it has its
+own NLS implementation. Assuming _nl_msg_cat_cntr exists breaks the
+build against the musl system.
+--- a/lib/tagexts.c
++++ b/lib/tagexts.c
+@@ -532,7 +532,7 @@ static int filerequireTag(Header h, rpmtd td, headerGetFlags hgflags)
+
+ /* I18N look aside diversions */
+
+-#if defined(ENABLE_NLS)
++#if defined(ENABLE_NLS) && (defined(__GLIBC__) || !defined(__linux__))
+ extern int _nl_msg_cat_cntr; /* XXX GNU gettext voodoo */
+ #endif
+ static const char * const language = "LANGUAGE";
+@@ -569,7 +569,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
+ /* change to en_US for msgkey -> msgid resolution */
+ langval = getenv(language);
+ (void) setenv(language, "en_US", 1);
++#if defined(__GLIBC__) || !defined(__linux__)
+ ++_nl_msg_cat_cntr;
++#endif
+
+ msgid = NULL;
+ for (domain = dstring; domain != NULL; domain = de) {
+@@ -584,7 +586,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
+ (void) setenv(language, langval, 1);
+ else
+ unsetenv(language);
++#if defined(__GLIBC__) || !defined(__linux__)
+ ++_nl_msg_cat_cntr;
++#endif
+
+ if (domain && msgid) {
+ td->data = dgettext(domain, msgid);
diff --git a/app-arch/rpm/files/rpm-4.19.0-libdir.patch b/app-arch/rpm/files/rpm-4.19.0-libdir.patch
new file mode 100644
index 000000000000..9899827c985e
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.19.0-libdir.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c164e9c52..5738c821f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,7 +32,7 @@ option(WITH_FSVERITY "Build with fsverity support" OFF)
+ option(WITH_IMAEVM "Build with IMA support" OFF)
+ option(WITH_FAPOLICYD "Build with fapolicyd support" ON)
+
+-set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/lib/rpm" CACHE PATH "rpm home")
++set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/libexec/rpm" CACHE PATH "rpm home")
+ set(RPM_VENDOR "vendor" CACHE STRING "rpm vendor string")
+
+ # Emulate libtool versioning. Before a public release:
diff --git a/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch
new file mode 100644
index 000000000000..441689febd5d
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch
@@ -0,0 +1,17 @@
+musl doesn't implement GLOB_BRACE, simply disable it.
+
+https://bugs.gentoo.org/922286
+https://github.com/rpm-software-management/rpm/issues/2844
+--- a/rpmio/rpmglob.c
++++ b/rpmio/rpmglob.c
+@@ -33,6 +33,10 @@
+
+ #include "debug.h"
+
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ /* Return 1 if pattern contains a magic char, see glob(7) for a list */
+ static int ismagic(const char *pattern)
+ {
diff --git a/app-arch/rpm/files/rpm-4.8.1-clang.patch b/app-arch/rpm/files/rpm-4.8.1-clang.patch
new file mode 100644
index 000000000000..714fbc09b534
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.8.1-clang.patch
@@ -0,0 +1,52 @@
+https://github.com/rpm-software-management/rpm/commit/6ad8a71407b173b6c50d389f01edd8a4aecd6807
+--- a/lib/fsm.c
++++ b/lib/fsm.c
+@@ -1015,27 +1015,28 @@
+ }
+
+ setmeta:
+- /* Special files require path-based ops */
+- int mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode);
+- if (!rc && fd == -1 && mayopen) {
+- int flags = O_RDONLY;
+- /* Only follow safe symlinks, and never on temporary files */
+- if (fp->suffix)
+- flags |= AT_SYMLINK_NOFOLLOW;
+- fd = fsmOpenat(di.dirfd, fp->fpath, flags,
+- S_ISDIR(fp->sb.st_mode));
+- if (fd < 0)
+- rc = RPMERR_OPEN_FAILED;
+- }
++ {
++ /* Special files require path-based ops */
++ int mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode);
++ if (!rc && fd == -1 && mayopen) {
++ int flags = O_RDONLY;
++ /* Only follow safe symlinks, and never on temporary files */
++ if (fp->suffix)
++ flags |= AT_SYMLINK_NOFOLLOW;
++ fd = fsmOpenat(di.dirfd, fp->fpath, flags,
++ S_ISDIR(fp->sb.st_mode));
++ if (fd < 0)
++ rc = RPMERR_OPEN_FAILED;
++ }
++ if (!rc && fp->setmeta) {
++ rc = fsmSetmeta(fd, di.dirfd, fp->fpath,
++ fi, plugins, fp->action,
++ &fp->sb, nofcaps);
++ }
+
+- if (!rc && fp->setmeta) {
+- rc = fsmSetmeta(fd, di.dirfd, fp->fpath,
+- fi, plugins, fp->action,
+- &fp->sb, nofcaps);
+- }
+-
+- if (fd != firstlinkfile)
+- fsmClose(&fd);
++ if (fd != firstlinkfile)
++ fsmClose(&fd);
++ }
+ }
+
+ /* Notify on success. */