summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-17 11:33:01 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-20 23:17:53 +0100
commit31565c258d48a715c547faf22c0a886989b52075 (patch)
tree502f17c7a90bfe96eb96c0053d313e5e7adeb49a /meta/recipes-devtools/rpm
parent57fa7ad89dcd8e63d4f3b9cfd65575607dad7d50 (diff)
downloadpoky-31565c258d48a715c547faf22c0a886989b52075.tar.gz
rpm: Upgrade 4.17.1 -> 4.18rc1
rpm is close to release and give our release timings, update to the rc1 of 4.18. Includes fixes for CVE-2021-35937, CVE-2021-35938 and CVE-2021-35939 which can't be easily backported. Add a PACKAGECONFIG option for a new readline dependency and disable it by default since it pulls in GPLv3 and that breaks a number of our test configurations as things stand. Refresh patches and drop the error.h patch as error() no longer used. (From OE-Core rev: 4b31e4f2aea490bd5056c97742b5e25a8dcc8b36) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/rpm')
-rw-r--r--meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch22
-rw-r--r--meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch10
-rw-r--r--meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch26
-rw-r--r--meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch11
-rw-r--r--meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch10
-rw-r--r--meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch20
-rw-r--r--meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch8
-rw-r--r--meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch17
-rw-r--r--meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch11
-rw-r--r--meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch13
-rw-r--r--meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch71
-rw-r--r--meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch17
-rw-r--r--meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch16
-rw-r--r--meta/recipes-devtools/rpm/files/fifofix.patch22
-rw-r--r--meta/recipes-devtools/rpm/rpm_4.17.1.bb10
15 files changed, 113 insertions, 171 deletions
diff --git a/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch b/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
index 331ea849e6..9f5dde0720 100644
--- a/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
@@ -11,11 +11,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11 rpmrc.in | 2 ++ 11 rpmrc.in | 2 ++
12 2 files changed, 6 insertions(+) 12 2 files changed, 6 insertions(+)
13 13
14diff --git a/build/rpmfc.c b/build/rpmfc.c 14Index: git/build/rpmfc.c
15index 10c380ee9..b7655aa93 100644 15===================================================================
16--- a/build/rpmfc.c 16--- git.orig/build/rpmfc.c
17+++ b/build/rpmfc.c 17+++ git/build/rpmfc.c
18@@ -639,6 +639,7 @@ exit: 18@@ -645,6 +645,7 @@ exit:
19 static const struct rpmfcTokens_s rpmfcTokens[] = { 19 static const struct rpmfcTokens_s rpmfcTokens[] = {
20 { "directory", RPMFC_INCLUDE }, 20 { "directory", RPMFC_INCLUDE },
21 21
@@ -23,7 +23,7 @@ index 10c380ee9..b7655aa93 100644
23 { "ELF 32-bit", RPMFC_ELF32|RPMFC_INCLUDE }, 23 { "ELF 32-bit", RPMFC_ELF32|RPMFC_INCLUDE },
24 { "ELF 64-bit", RPMFC_ELF64|RPMFC_INCLUDE }, 24 { "ELF 64-bit", RPMFC_ELF64|RPMFC_INCLUDE },
25 25
26@@ -1149,6 +1150,9 @@ static uint32_t getElfColor(const char *fn) 26@@ -1150,6 +1151,9 @@ static uint32_t getElfColor(const char *
27 color = RPMFC_ELF32; 27 color = RPMFC_ELF32;
28 break; 28 break;
29 } 29 }
@@ -33,11 +33,11 @@ index 10c380ee9..b7655aa93 100644
33 elf_end(elf); 33 elf_end(elf);
34 } 34 }
35 close(fd); 35 close(fd);
36diff --git a/rpmrc.in b/rpmrc.in 36Index: git/rpmrc.in
37index 5bd9ba3e5..f15bb8dad 100644 37===================================================================
38--- a/rpmrc.in 38--- git.orig/rpmrc.in
39+++ b/rpmrc.in 39+++ git/rpmrc.in
40@@ -137,6 +137,8 @@ archcolor: mipsr6el 1 40@@ -139,6 +139,8 @@ archcolor: mipsr6el 1
41 archcolor: mips64r6 2 41 archcolor: mips64r6 2
42 archcolor: mips64r6el 2 42 archcolor: mips64r6el 2
43 43
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
index 4029233fb7..8440c3516d 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
@@ -14,11 +14,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
14 build/pack.c | 4 ---- 14 build/pack.c | 4 ----
15 1 file changed, 4 deletions(-) 15 1 file changed, 4 deletions(-)
16 16
17diff --git a/build/pack.c b/build/pack.c 17Index: git/build/pack.c
18index e6cec1816..810cd7351 100644 18===================================================================
19--- a/build/pack.c 19--- git.orig/build/pack.c
20+++ b/build/pack.c 20+++ git/build/pack.c
21@@ -724,10 +724,6 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch 21@@ -709,10 +709,6 @@ static rpmRC packageBinary(rpmSpec spec,
22 headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16); 22 headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
23 } 23 }
24 24
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index c6cf9d4c88..6f613d0a7d 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13 rpm.am | 4 ++-- 13 rpm.am | 4 ++--
14 3 files changed, 4 insertions(+), 4 deletions(-) 14 3 files changed, 4 insertions(+), 4 deletions(-)
15 15
16diff --git a/configure.ac b/configure.ac 16Index: git/configure.ac
17index 372875fc4..1b7add9ee 100644 17===================================================================
18--- a/configure.ac 18--- git.orig/configure.ac
19+++ b/configure.ac 19+++ git/configure.ac
20@@ -884,7 +884,7 @@ else 20@@ -942,7 +942,7 @@ else
21 usrprefix=$prefix 21 usrprefix=$prefix
22 fi 22 fi
23 23
@@ -26,10 +26,10 @@ index 372875fc4..1b7add9ee 100644
26 AC_SUBST(RPMCONFIGDIR) 26 AC_SUBST(RPMCONFIGDIR)
27 27
28 AC_SUBST(OBJDUMP) 28 AC_SUBST(OBJDUMP)
29diff --git a/macros.in b/macros.in 29Index: git/macros.in
30index d53ab5ed5..9d10441c8 100644 30===================================================================
31--- a/macros.in 31--- git.orig/macros.in
32+++ b/macros.in 32+++ git/macros.in
33@@ -911,7 +911,7 @@ package or when debugging this package.\ 33@@ -911,7 +911,7 @@ package or when debugging this package.\
34 %_sharedstatedir %{_prefix}/com 34 %_sharedstatedir %{_prefix}/com
35 %_localstatedir %{_prefix}/var 35 %_localstatedir %{_prefix}/var
@@ -39,10 +39,10 @@ index d53ab5ed5..9d10441c8 100644
39 %_includedir %{_prefix}/include 39 %_includedir %{_prefix}/include
40 %_infodir %{_datadir}/info 40 %_infodir %{_datadir}/info
41 %_mandir %{_datadir}/man 41 %_mandir %{_datadir}/man
42diff --git a/rpm.am b/rpm.am 42Index: git/rpm.am
43index ebe4e40d1..e6920e258 100644 43===================================================================
44--- a/rpm.am 44--- git.orig/rpm.am
45+++ b/rpm.am 45+++ git/rpm.am
46@@ -1,10 +1,10 @@ 46@@ -1,10 +1,10 @@
47 # Internal binaries 47 # Internal binaries
48 ## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm 48 ## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch
index 96eb418952..fda64eefe0 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch
@@ -9,10 +9,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
9 lib/rpmrc.c | 6 ++---- 9 lib/rpmrc.c | 6 ++----
10 1 file changed, 2 insertions(+), 4 deletions(-) 10 1 file changed, 2 insertions(+), 4 deletions(-)
11 11
12diff --git a/lib/rpmrc.c b/lib/rpmrc.c 12Index: git/lib/rpmrc.c
13index 4ed991321..19fe80f98 100644 13===================================================================
14--- a/lib/rpmrc.c 14--- git.orig/lib/rpmrc.c
15+++ b/lib/rpmrc.c 15+++ git/lib/rpmrc.c
16@@ -458,8 +458,7 @@ static void setDefaults(void) 16@@ -458,8 +458,7 @@ static void setDefaults(void)
17 if (!defrcfiles) { 17 if (!defrcfiles) {
18 defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":", 18 defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":",
@@ -33,6 +33,3 @@ index 4ed991321..19fe80f98 100644
33 } 33 }
34 #else 34 #else
35 macrofiles = MACROFILES; 35 macrofiles = MACROFILES;
36--
372.11.0
38
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
index 41cdf6ed77..ae24b663aa 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
@@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13 lib/rpmscript.c | 2 +- 13 lib/rpmscript.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/lib/rpmscript.c b/lib/rpmscript.c 16Index: git/lib/rpmscript.c
17index 6a31e0d..2b0e438 100644 17===================================================================
18--- a/lib/rpmscript.c 18--- git.orig/lib/rpmscript.c
19+++ b/lib/rpmscript.c 19+++ git/lib/rpmscript.c
20@@ -184,7 +184,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes, 20@@ -231,7 +231,7 @@ static void doScriptExec(ARGV_const_t ar
21 if (ipath && ipath[5] != '%') 21 if (ipath && ipath[5] != '%')
22 path = ipath; 22 path = ipath;
23 23
diff --git a/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch b/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
index 2a0069cafe..bd3314a90f 100644
--- a/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
+++ b/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
@@ -28,9 +28,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
28 lib/rpmscript.c | 11 ++++++++--- 28 lib/rpmscript.c | 11 ++++++++---
29 1 file changed, 8 insertions(+), 3 deletions(-) 29 1 file changed, 8 insertions(+), 3 deletions(-)
30 30
31--- a/lib/rpmscript.c 31Index: git/lib/rpmscript.c
32+++ b/lib/rpmscript.c 32===================================================================
33@@ -17,7 +17,7 @@ 33--- git.orig/lib/rpmscript.c
34+++ git/lib/rpmscript.c
35@@ -18,7 +18,7 @@
34 #include "rpmio/rpmio_internal.h" 36 #include "rpmio/rpmio_internal.h"
35 37
36 #include "lib/rpmplugins.h" /* rpm plugins hooks */ 38 #include "lib/rpmplugins.h" /* rpm plugins hooks */
@@ -39,7 +41,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
39 #include "debug.h" 41 #include "debug.h"
40 42
41 struct scriptNextFileFunc_s { 43 struct scriptNextFileFunc_s {
42@@ -391,8 +391,7 @@ exit: 44@@ -427,8 +427,7 @@ exit:
43 Fclose(out); /* XXX dup'd STDOUT_FILENO */ 45 Fclose(out); /* XXX dup'd STDOUT_FILENO */
44 46
45 if (fn) { 47 if (fn) {
@@ -49,18 +51,18 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
49 free(fn); 51 free(fn);
50 } 52 }
51 free(mline); 53 free(mline);
52@@ -426,7 +425,13 @@ rpmRC rpmScriptRun(rpmScript script, int 54@@ -462,7 +461,13 @@ rpmRC rpmScriptRun(rpmScript script, int
53 55
54 if (rc != RPMRC_FAIL) { 56 if (rc != RPMRC_FAIL) {
55 if (script_type & RPMSCRIPTLET_EXEC) { 57 if (script_type & RPMSCRIPTLET_EXEC) {
56- rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); 58- rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
57+ if (getenv("RPM_NO_CHROOT_FOR_SCRIPTS") != NULL) { 59+ if (getenv("RPM_NO_CHROOT_FOR_SCRIPTS") != NULL) {
58+ rpmChrootOut(); 60+ rpmChrootOut();
59+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); 61+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
60+ rpmChrootIn(); 62+ rpmChrootIn();
61+ } else { 63+ } else {
62+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); 64+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
63+ } 65+ }
64 } else { 66 } else {
65 rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); 67 rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
66 } 68 }
diff --git a/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch b/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
index 79b168257e..64433abb6a 100644
--- a/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
+++ b/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
@@ -13,10 +13,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de>
13 build/pack.c | 2 +- 13 build/pack.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/build/pack.c b/build/pack.c 16Index: git/build/pack.c
17index 932cb213e..b45d0726f 100644 17===================================================================
18--- a/build/pack.c 18--- git.orig/build/pack.c
19+++ b/build/pack.c 19+++ git/build/pack.c
20@@ -328,7 +328,7 @@ static char *getIOFlags(Package pkg) 20@@ -328,7 +328,7 @@ static char *getIOFlags(Package pkg)
21 headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr); 21 headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr);
22 buf = xstrdup(rpmio_flags); 22 buf = xstrdup(rpmio_flags);
diff --git a/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch b/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch
index 2174a79e75..29b6686a94 100644
--- a/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch
+++ b/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch
@@ -11,13 +11,13 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de>
11 configure.ac | 4 ++++ 11 configure.ac | 4 ++++
12 1 file changed, 4 insertions(+) 12 1 file changed, 4 insertions(+)
13 13
14diff --git a/configure.ac b/configure.ac 14Index: git/configure.ac
15index 372875fc49..7d6a3d274e 100644 15===================================================================
16--- a/configure.ac 16--- git.orig/configure.ac
17+++ b/configure.ac 17+++ git/configure.ac
18@@ -845,6 +845,10 @@ if echo "$host_os" | grep '.*-gnuabi64$' > /dev/null ; then 18@@ -903,6 +903,10 @@ if echo "$host_os" | grep '.*-gnux32$' >
19 host_os=`echo "${host_os}" | sed 's/-gnuabi64$//'` 19 host_os=`echo "${host_os}" | sed 's/-gnux32$//'`
20 host_os_gnu=-gnuabi64 20 host_os_gnu=-gnux32
21 fi 21 fi
22+if echo "$host_os" | grep '.*-gnux32$' > /dev/null ; then 22+if echo "$host_os" | grep '.*-gnux32$' > /dev/null ; then
23+ host_os=`echo "${host_os}" | sed 's/-gnux32$//'` 23+ host_os=`echo "${host_os}" | sed 's/-gnux32$//'`
@@ -26,6 +26,3 @@ index 372875fc49..7d6a3d274e 100644
26 if echo "$host_os" | grep '.*-gnu$' > /dev/null ; then 26 if echo "$host_os" | grep '.*-gnu$' > /dev/null ; then
27 host_os=`echo "${host_os}" | sed 's/-gnu$//'` 27 host_os=`echo "${host_os}" | sed 's/-gnu$//'`
28 fi 28 fi
29--
302.30.2
31
diff --git a/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch b/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch
index ced52d1007..d7137f1d10 100644
--- a/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch
+++ b/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch
@@ -9,10 +9,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
9 docs/Makefile.am | 2 -- 9 docs/Makefile.am | 2 --
10 1 file changed, 2 deletions(-) 10 1 file changed, 2 deletions(-)
11 11
12diff --git a/docs/Makefile.am b/docs/Makefile.am 12Index: git/docs/Makefile.am
13index 5a6bd203a..6257767fd 100644 13===================================================================
14--- a/docs/Makefile.am 14--- git.orig/docs/Makefile.am
15+++ b/docs/Makefile.am 15+++ git/docs/Makefile.am
16@@ -1,7 +1,5 @@ 16@@ -1,7 +1,5 @@
17 ## Process this file with automake to produce Makefile.in 17 ## Process this file with automake to produce Makefile.in
18 18
@@ -21,6 +21,3 @@ index 5a6bd203a..6257767fd 100644
21 EXTRA_DIST = 21 EXTRA_DIST =
22 22
23 EXTRA_DIST += \ 23 EXTRA_DIST += \
24--
252.32.0
26
diff --git a/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch b/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
index 6678c105cd..82e6567dc7 100644
--- a/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
+++ b/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
@@ -31,11 +31,11 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
31 lib/transaction.c | 13 ++++++++++++- 31 lib/transaction.c | 13 ++++++++++++-
32 1 file changed, 12 insertions(+), 1 deletion(-) 32 1 file changed, 12 insertions(+), 1 deletion(-)
33 33
34diff --git a/lib/transaction.c b/lib/transaction.c 34Index: git/lib/transaction.c
35index 67b9db5..82386b8 100644 35===================================================================
36--- a/lib/transaction.c 36--- git.orig/lib/transaction.c
37+++ b/lib/transaction.c 37+++ git/lib/transaction.c
38@@ -391,7 +391,18 @@ static int handleColorConflict(rpmts ts, 38@@ -402,7 +402,18 @@ static int handleColorConflict(rpmts ts,
39 rpmfsSetAction(ofs, ofx, FA_CREATE); 39 rpmfsSetAction(ofs, ofx, FA_CREATE);
40 rpmfsSetAction(fs, fx, FA_SKIPCOLOR); 40 rpmfsSetAction(fs, fx, FA_SKIPCOLOR);
41 rConflicts = 0; 41 rConflicts = 0;
@@ -55,6 +55,3 @@ index 67b9db5..82386b8 100644
55 } 55 }
56 } 56 }
57 57
58--
592.7.4
60
diff --git a/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch b/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch
deleted file mode 100644
index 9783396639..0000000000
--- a/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch
+++ /dev/null
@@ -1,71 +0,0 @@
1From 9b9d717f484ec913cdd3804e43489b3dc18bd77c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 31 Oct 2020 22:14:05 -0700
4Subject: [PATCH] tools: Add error.h for non-glibc case
5
6error is glibc specific API, so this patch will mostly not accepted
7upstream given that elfutils has been closely tied to glibc
8
9Upstream-Status: Inappropriate [workaround for musl]
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12
13---
14 tools/elfdeps.c | 6 +++++-
15 tools/error.h | 27 +++++++++++++++++++++++++++
16 2 files changed, 32 insertions(+), 1 deletion(-)
17 create mode 100644 tools/error.h
18
19diff --git a/tools/elfdeps.c b/tools/elfdeps.c
20index d205935bb..3a8945b33 100644
21--- a/tools/elfdeps.c
22+++ b/tools/elfdeps.c
23@@ -5,10 +5,14 @@
24 #include <unistd.h>
25 #include <stdlib.h>
26 #include <fcntl.h>
27-#include <error.h>
28 #include <errno.h>
29 #include <popt.h>
30 #include <gelf.h>
31+#ifdef __GLIBC__
32+#include <error.h>
33+#else
34+#include "error.h"
35+#endif
36
37 #include <rpm/rpmstring.h>
38 #include <rpm/argv.h>
39diff --git a/tools/error.h b/tools/error.h
40new file mode 100644
41index 000000000..ef06827a0
42--- /dev/null
43+++ b/tools/error.h
44@@ -0,0 +1,27 @@
45+#ifndef _ERROR_H_
46+#define _ERROR_H_
47+
48+#include <stdarg.h>
49+#include <stdio.h>
50+#include <stdlib.h>
51+#include <string.h>
52+#include <errno.h>
53+
54+static unsigned int error_message_count = 0;
55+
56+static inline void error(int status, int errnum, const char* format, ...)
57+{
58+ va_list ap;
59+ fprintf(stderr, "%s: ", program_invocation_name);
60+ va_start(ap, format);
61+ vfprintf(stderr, format, ap);
62+ va_end(ap);
63+ if (errnum)
64+ fprintf(stderr, ": %s", strerror(errnum));
65+ fprintf(stderr, "\n");
66+ error_message_count++;
67+ if (status)
68+ exit(status);
69+}
70+
71+#endif /* _ERROR_H_ */
diff --git a/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch b/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch
index b3dbc319b6..2fe96a839c 100644
--- a/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch
+++ b/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch
@@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13 lib/rpmrc.c | 19 ++++++++++++++----- 13 lib/rpmrc.c | 19 ++++++++++++++-----
14 1 file changed, 14 insertions(+), 5 deletions(-) 14 1 file changed, 14 insertions(+), 5 deletions(-)
15 15
16diff --git a/lib/rpmrc.c b/lib/rpmrc.c 16Index: git/lib/rpmrc.c
17index 19fe80f98..6b27b3941 100644 17===================================================================
18--- a/lib/rpmrc.c 18--- git.orig/lib/rpmrc.c
19+++ b/lib/rpmrc.c 19+++ git/lib/rpmrc.c
20@@ -455,10 +455,14 @@ const char * lookupInDefaultTable(const char * name, 20@@ -455,10 +455,14 @@ const char * lookupInDefaultTable(const
21 static void setDefaults(void) 21 static void setDefaults(void)
22 { 22 {
23 const char *confdir = rpmConfigDir(); 23 const char *confdir = rpmConfigDir();
@@ -46,7 +46,7 @@ index 19fe80f98..6b27b3941 100644
46 } 46 }
47 #else 47 #else
48 macrofiles = MACROFILES; 48 macrofiles = MACROFILES;
49@@ -989,7 +993,11 @@ static void read_auxv(void) 49@@ -997,7 +1001,11 @@ static void read_auxv(void)
50 */ 50 */
51 static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) 51 static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
52 { 52 {
@@ -59,7 +59,7 @@ index 19fe80f98..6b27b3941 100644
59 static struct utsname un; 59 static struct utsname un;
60 char * chptr; 60 char * chptr;
61 canonEntry canon; 61 canonEntry canon;
62@@ -1286,6 +1294,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) 62@@ -1307,6 +1315,7 @@ static void defaultMachine(rpmrcCtx ctx,
63 63
64 if (arch) *arch = un.machine; 64 if (arch) *arch = un.machine;
65 if (os) *os = un.sysname; 65 if (os) *os = un.sysname;
@@ -67,6 +67,3 @@ index 19fe80f98..6b27b3941 100644
67 } 67 }
68 68
69 static 69 static
70--
712.11.0
72
diff --git a/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch b/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
index 43e9859ef3..9dbe7125de 100644
--- a/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
+++ b/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
@@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13 lib/rpmscript.c | 8 ++++---- 13 lib/rpmscript.c | 8 ++++----
14 1 file changed, 4 insertions(+), 4 deletions(-) 14 1 file changed, 4 insertions(+), 4 deletions(-)
15 15
16diff --git a/lib/rpmscript.c b/lib/rpmscript.c 16Index: git/lib/rpmscript.c
17index 2b0e43862..e319673f1 100644 17===================================================================
18--- a/lib/rpmscript.c 18--- git.orig/lib/rpmscript.c
19+++ b/lib/rpmscript.c 19+++ git/lib/rpmscript.c
20@@ -226,7 +226,7 @@ static char * writeScript(const char *cmd, const char *script) 20@@ -270,7 +270,7 @@ static char * writeScript(const char *cm
21 if (Ferror(fd)) 21 if (Ferror(fd))
22 goto exit; 22 goto exit;
23 23
@@ -26,7 +26,7 @@ index 2b0e43862..e319673f1 100644
26 static const char set_x[] = "set -x\n"; 26 static const char set_x[] = "set -x\n";
27 /* Assume failures will be caught by the write below */ 27 /* Assume failures will be caught by the write below */
28 Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd); 28 Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd);
29@@ -258,7 +258,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, 29@@ -302,7 +302,7 @@ static rpmRC runExtScript(rpmPlugins plu
30 char *mline = NULL; 30 char *mline = NULL;
31 rpmRC rc = RPMRC_FAIL; 31 rpmRC rc = RPMRC_FAIL;
32 32
@@ -35,7 +35,7 @@ index 2b0e43862..e319673f1 100644
35 35
36 if (script) { 36 if (script) {
37 fn = writeScript(*argvp[0], script); 37 fn = writeScript(*argvp[0], script);
38@@ -310,7 +310,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, 38@@ -354,7 +354,7 @@ static rpmRC runExtScript(rpmPlugins plu
39 sname, strerror(errno)); 39 sname, strerror(errno));
40 goto exit; 40 goto exit;
41 } else if (pid == 0) {/* Child */ 41 } else if (pid == 0) {/* Child */
@@ -44,7 +44,7 @@ index 2b0e43862..e319673f1 100644
44 sname, *argvp[0], (unsigned)getpid()); 44 sname, *argvp[0], (unsigned)getpid());
45 45
46 fclose(in); 46 fclose(in);
47@@ -353,7 +353,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, 47@@ -397,7 +397,7 @@ static rpmRC runExtScript(rpmPlugins plu
48 reaped = waitpid(pid, &status, 0); 48 reaped = waitpid(pid, &status, 0);
49 } while (reaped == -1 && errno == EINTR); 49 } while (reaped == -1 && errno == EINTR);
50 50
diff --git a/meta/recipes-devtools/rpm/files/fifofix.patch b/meta/recipes-devtools/rpm/files/fifofix.patch
new file mode 100644
index 0000000000..71703d7f0c
--- /dev/null
+++ b/meta/recipes-devtools/rpm/files/fifofix.patch
@@ -0,0 +1,22 @@
1Calling openat() on a fifo causes a pseudo hang for us (e.g. the fifo in psplash).
2Avoid calling openat for fifos.
3
4Introduced upstream with:
5
6https://github.com/rpm-software-management/rpm/commit/96ec957e281220f8e137a2d5eb23b83a6377d556
7
8Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/issues/2195]
9
10Index: git/lib/fsm.c
11===================================================================
12--- git.orig/lib/fsm.c
13+++ git/lib/fsm.c
14@@ -1010,7 +1010,7 @@ int rpmPackageFilesInstall(rpmts ts, rpm
15 rc = RPMERR_UNKNOWN_FILETYPE;
16 }
17
18- if (!rc && fd == -1 && !S_ISLNK(fp->sb.st_mode)) {
19+ if (!rc && fd == -1 && !S_ISLNK(fp->sb.st_mode) && !S_ISFIFO(fp->sb.st_mode)) {
20 /* Only follow safe symlinks, and never on temporary files */
21 fd = fsmOpenat(di.dirfd, fp->fpath,
22 fp->suffix ? AT_SYMLINK_NOFOLLOW : 0, 0);
diff --git a/meta/recipes-devtools/rpm/rpm_4.17.1.bb b/meta/recipes-devtools/rpm/rpm_4.17.1.bb
index 9b6446f265..36ab90d91e 100644
--- a/meta/recipes-devtools/rpm/rpm_4.17.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.17.1.bb
@@ -24,7 +24,7 @@ HOMEPAGE = "http://www.rpm.org"
24LICENSE = "GPL-2.0-only" 24LICENSE = "GPL-2.0-only"
25LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f" 25LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f"
26 26
27SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.17.x;protocol=https \ 27SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protocol=https \
28 file://environment.d-rpm.sh \ 28 file://environment.d-rpm.sh \
29 file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \ 29 file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
30 file://0001-Do-not-read-config-files-from-HOME.patch \ 30 file://0001-Do-not-read-config-files-from-HOME.patch \
@@ -36,14 +36,17 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.17.x;protoc
36 file://0001-perl-disable-auto-reqs.patch \ 36 file://0001-perl-disable-auto-reqs.patch \
37 file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ 37 file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
38 file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \ 38 file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
39 file://0001-tools-Add-error.h-for-non-glibc-case.patch \
40 file://0001-docs-do-not-build-manpages-requires-pandoc.patch \ 39 file://0001-docs-do-not-build-manpages-requires-pandoc.patch \
41 file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \ 40 file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \
42 file://0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch \ 41 file://0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch \
42 file://fifofix.patch \
43 " 43 "
44 44
45PE = "1" 45PE = "1"
46SRCREV = "5bef402da334595ed9302b8bca1acdf5e88bfe11" 46SRCREV = "07a6cca98489106b93467ecfaf5700368983a9b4"
47PV = "4.17.1+4.18-rc1"
48# can be removed in 4.18
49CVE_CHECK_IGNORE += "CVE-2021-35937 CVE-2021-35938 CVE-2021-35939"
47 50
48S = "${WORKDIR}/git" 51S = "${WORKDIR}/git"
49 52
@@ -80,6 +83,7 @@ PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
80PACKAGECONFIG[inhibit] = "--enable-inhibit-plugin,--disable-inhibit-plugin,dbus" 83PACKAGECONFIG[inhibit] = "--enable-inhibit-plugin,--disable-inhibit-plugin,dbus"
81PACKAGECONFIG[rpm2archive] = "--with-archive,--without-archive,libarchive" 84PACKAGECONFIG[rpm2archive] = "--with-archive,--without-archive,libarchive"
82PACKAGECONFIG[sqlite] = "--enable-sqlite=yes,--enable-sqlite=no,sqlite3" 85PACKAGECONFIG[sqlite] = "--enable-sqlite=yes,--enable-sqlite=no,sqlite3"
86PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
83PACKAGECONFIG[ndb] = "--enable-ndb,--disable-ndb" 87PACKAGECONFIG[ndb] = "--enable-ndb,--disable-ndb"
84PACKAGECONFIG[bdb-ro] = "--enable-bdb-ro,--disable-bdb-ro" 88PACKAGECONFIG[bdb-ro] = "--enable-bdb-ro,--disable-bdb-ro"
85PACKAGECONFIG[zstd] = "--enable-zstd=yes,--enable-zstd=no,zstd" 89PACKAGECONFIG[zstd] = "--enable-zstd=yes,--enable-zstd=no,zstd"