From: "Alexander Kanavin" <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Subject: [PATCH 11/33] rpm: update 4.15.1 -> 4.16.0
Date: Wed, 28 Oct 2020 22:05:36 +0100 [thread overview]
Message-ID: <20201028210558.21070-11-alex.kanavin@gmail.com> (raw)
In-Reply-To: <20201028210558.21070-1-alex.kanavin@gmail.com>
Drop backports.
Drop 0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch as
enabling compression support in libmagic finally allows us to use
parallel file classification.
Add a backported patch that fixes musl builds.
License-Update: formatting
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
| 62 ------------------
...lib-rpm-as-the-installation-path-for.patch | 14 ++--
.../0001-rpmdb.c-add-a-missing-include.patch | 25 +++++++
...-run-file-classification-in-parallel.patch | 65 -------------------
...lugins.c-call-dlerror-prior-to-dlsym.patch | 29 ---------
.../rpm/{rpm_4.15.1.bb => rpm_4.16.0.bb} | 16 +++--
6 files changed, 42 insertions(+), 169 deletions(-)
delete mode 100644 meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch
create mode 100644 meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch
delete mode 100644 meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
delete mode 100644 meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch
rename meta/recipes-devtools/rpm/{rpm_4.15.1.bb => rpm_4.16.0.bb} (94%)
diff --git a/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch b/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch
deleted file mode 100644
index 0a19c12a7a..0000000000
--- a/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e8bf0eba7143abb6e69db82ee747a0c6790dd00a Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 3 Jun 2020 10:25:24 +0800
-Subject: [PATCH] Bump up the limit of signature header to 64MB
-
-Since commits [Place file signatures into the signature header where they
-belong][1] applied, run `rpm -Kv **.rpm' failed if signature header
-is larger than 64KB. Here are steps:
-
-1) A unsigned rpm package, the size is 227560 bytes
-$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
--rw-------. 1 mockbuild 1000 227560 Jun 3 09:59
-
-2) Sign the rpm package
-$ rpmsign --addsign ... xz-src-5.2.5-r0.corei7_64.rpm
-
-3) The size of signed rpm is 312208 bytes
-$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
--rw-------. 1 mockbuild 1000 312208 Jun 3 09:48
-
-4) Run `rpm -Kv' failed with signature hdr data out of range
-$ rpm -Kv xz-src-5.2.5-r0.corei7_64.rpm
-xz-src-5.2.5-r0.corei7_64.rpm:
-error: xz-src-5.2.5-r0.corei7_64.rpm: signature hdr data: BAD, no. of
-bytes(88864) out of range
-
-From 1) and 3), the size of signed rpm package increased
-312208 - 227560 = 84648, so the check of dl_max (64KB,65536)
-is not enough.
-
-As [1] said:
-
- This also means the signature header can be MUCH bigger than ever
- before,so bump up the limit (to 64MB, arbitrary something for now)
-
-So [1] missed to multiply by 1024.
-
-[1] https://github.com/rpm-software-management/rpm/commit/f558e886050c4e98f6cdde391df679a411b3f62c
-
-Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/486579912381ede82172dc6d0ff3941a6d0536b5]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- lib/header.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/header.c b/lib/header.c
-index 9ec7ed0..cbf6890 100644
---- a/lib/header.c
-+++ b/lib/header.c
-@@ -1906,7 +1906,7 @@ rpmRC hdrblobRead(FD_t fd, int magic, int exact_size, rpmTagVal regionTag, hdrbl
-
- if (regionTag == RPMTAG_HEADERSIGNATURES) {
- il_max = 32;
-- dl_max = 64 * 1024;
-+ dl_max = 64 * 1024 * 1024;
- }
-
- memset(block, 0, sizeof(block));
---
-2.25.4
-
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 52440d6818..30975faeaf 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
@@ -1,4 +1,4 @@
-From 2f3d1619b6510bc131c4375827caf912559f0fa2 Mon Sep 17 00:00:00 2001
+From 4fd37bc9d8d0777aa038777dd81a76b64f536efd Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 27 Feb 2017 09:43:30 +0200
Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index d3aeab86e..1a1f3f91f 100644
+index 186e4aeec..5df252085 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1086,7 +1086,7 @@ else
+@@ -944,7 +944,7 @@ else
usrprefix=$prefix
fi
@@ -27,10 +27,10 @@ index d3aeab86e..1a1f3f91f 100644
AC_SUBST(OBJDUMP)
diff --git a/macros.in b/macros.in
-index fe9803aad..d128675bf 100644
+index 35c8cf9df..9d8b2825c 100644
--- a/macros.in
+++ b/macros.in
-@@ -985,7 +985,7 @@ package or when debugging this package.\
+@@ -996,7 +996,7 @@ package or when debugging this package.\
%_sharedstatedir %{_prefix}/com
%_localstatedir %{_prefix}/var
%_lib lib
@@ -40,7 +40,7 @@ index fe9803aad..d128675bf 100644
%_infodir %{_datadir}/info
%_mandir %{_datadir}/man
diff --git a/rpm.am b/rpm.am
-index 40b4ec55f..3139ce8f6 100644
+index b46c6b7da..02d5c7a0a 100644
--- a/rpm.am
+++ b/rpm.am
@@ -1,10 +1,10 @@
@@ -55,4 +55,4 @@ index 40b4ec55f..3139ce8f6 100644
+rpmconfigdir = $(libdir)/rpm
# Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 9:1:0
+ rpm_version_info = 10:0:1
diff --git a/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch b/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch
new file mode 100644
index 0000000000..c7ae158f8d
--- /dev/null
+++ b/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch
@@ -0,0 +1,25 @@
+From 9de15c7e1f4ca23a10edb9a3b657f06b2b13e841 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 20 Oct 2020 22:16:39 +0200
+Subject: [PATCH] rpmdb.c: add a missing include
+
+This addressed build failures on non-glibc systems.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ lib/rpmdb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/rpmdb.c b/lib/rpmdb.c
+index 4c101569f..73187630b 100644
+--- a/lib/rpmdb.c
++++ b/lib/rpmdb.c
+@@ -8,6 +8,7 @@
+ #include <utime.h>
+ #include <errno.h>
+ #include <dirent.h>
++#include <fcntl.h>
+
+ #ifndef DYING /* XXX already in "system.h" */
+ #include <fnmatch.h>
diff --git a/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch b/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
deleted file mode 100644
index d8d338792d..0000000000
--- a/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 93c3c7f043f62e96941274e957c4ad9432032af1 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 18 Nov 2019 16:22:56 +0100
-Subject: [PATCH] rpmfc.c: do not run file classification in parallel
-
-This is causing freezes with libmagic when the file in question is compressed:
-https://github.com/rpm-software-management/rpm/issues/756
-
-Upstream-Status: Inappropriate [upstream wants a proper fix]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- build/rpmfc.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/build/rpmfc.c b/build/rpmfc.c
-index 3db7a9352..17afdd57a 100644
---- a/build/rpmfc.c
-+++ b/build/rpmfc.c
-@@ -680,7 +680,6 @@ static void rpmfcAttributes(rpmfc fc, int ix, const char *ftype, const char *ful
- /* Add attributes on libmagic type & path pattern matches */
- if (matches(&(*attr)->incl, ftype, path, is_executable)) {
- argvAddTokens(&fc->fattrs[ix], (*attr)->name);
-- #pragma omp critical(fahash)
- fattrHashAddEntry(fc->fahash, attr-fc->atypes, ix);
- }
- }
-@@ -1105,7 +1104,6 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
- /* Build (sorted) file class dictionary. */
- fc->cdict = rpmstrPoolCreate();
-
-- #pragma omp parallel
- {
- /* libmagic is not thread-safe, each thread needs to a private handle */
- magic_t ms = magic_open(msflags);
-@@ -1113,15 +1111,12 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
- if (ms == NULL) {
- rpmlog(RPMLOG_ERR, _("magic_open(0x%x) failed: %s\n"),
- msflags, strerror(errno));
-- #pragma omp cancel parallel
- }
-
- if (magic_load(ms, NULL) == -1) {
- rpmlog(RPMLOG_ERR, _("magic_load failed: %s\n"), magic_error(ms));
-- #pragma omp cancel parallel
- }
-
-- #pragma omp for ordered reduction(+:nerrors)
- for (int ix = 0; ix < fc->nfiles; ix++) {
- rpmsid ftypeId;
- const char * ftype;
-@@ -1185,14 +1180,11 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
- fc->fcolor[ix] = fcolor;
-
- /* Add to file class dictionary and index array */
-- #pragma omp ordered
- if (fcolor != RPMFC_WHITE && (fcolor & RPMFC_INCLUDE)) {
- ftypeId = rpmstrPoolId(fc->cdict, ftype, 1);
-- #pragma omp atomic
- fc->fknown++;
- } else {
- ftypeId = rpmstrPoolId(fc->cdict, "", 1);
-- #pragma omp atomic
- fc->fwhite++;
- }
- /* Pool id's start from 1, for headers we want it from 0 */
diff --git a/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch b/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch
deleted file mode 100644
index 8842e3ebd7..0000000000
--- a/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6878a83f9bac015c64d83cee42530a20a264cc5a Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 7 Jan 2020 12:02:06 +0100
-Subject: [PATCH] rpmplugins.c: call dlerror() prior to dlsym()
-
-This is the recommended way in the manpage; if there is
-a lingering error from an unrelated dl*() call that was
-never obtained via dlerror(), it needs to be cleared
-prior to calling dlsym().
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/998]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- lib/rpmplugins.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/rpmplugins.c b/lib/rpmplugins.c
-index 65e684e84..b950f85cf 100644
---- a/lib/rpmplugins.c
-+++ b/lib/rpmplugins.c
-@@ -68,6 +68,8 @@ static rpmPlugin rpmPluginNew(const char *name, const char *path,
-
- /* make sure the plugin has the supported hooks flag */
- hooks_name = rstrscat(NULL, name, "_hooks", NULL);
-+ /* clear out any old errors that weren't fetched */
-+ dlerror();
- hooks = dlsym(handle, hooks_name);
- if ((error = dlerror()) != NULL) {
- rpmlog(RPMLOG_ERR, _("Failed to resolve symbol %s: %s\n"),
diff --git a/meta/recipes-devtools/rpm/rpm_4.15.1.bb b/meta/recipes-devtools/rpm/rpm_4.16.0.bb
similarity index 94%
rename from meta/recipes-devtools/rpm/rpm_4.15.1.bb
rename to meta/recipes-devtools/rpm/rpm_4.16.0.bb
index a1c5205554..f01874fe38 100644
--- a/meta/recipes-devtools/rpm/rpm_4.15.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.16.0.bb
@@ -22,9 +22,9 @@ HOMEPAGE = "http://www.rpm.org"
# libraries are also LGPL - how to express this?
LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f"
-SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.15.x \
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \
file://environment.d-rpm.sh \
file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
file://0001-Do-not-read-config-files-from-HOME.patch \
@@ -38,14 +38,12 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.15.x \
file://0001-perl-disable-auto-reqs.patch \
file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
- file://0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch \
- file://0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch \
file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
- file://0001-Bump-up-the-limit-of-signature-header-to-64MB.patch \
+ file://0001-rpmdb.c-add-a-missing-include.patch \
"
PE = "1"
-SRCREV = "ab2179452c5be276a6b96c591afded485c7e58c3"
+SRCREV = "cd7f9303ef1070f027493cad7d00bc66935af2a0"
S = "${WORKDIR}/git"
@@ -55,6 +53,8 @@ DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native
inherit autotools gettext pkgconfig python3native
export PYTHON_ABI
+AUTOTOOLS_AUXDIR = "${S}/build-aux"
+
# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
@@ -97,6 +97,10 @@ WRAPPER_TOOLS = " \
${libdir}/rpm/rpmdeps \
"
+do_configure_prepend() {
+ mkdir -p ${S}/build-aux
+}
+
do_install_append_class-native() {
for tool in ${WRAPPER_TOOLS}; do
test -x ${D}$tool && create_wrapper ${D}$tool \
--
2.29.0
next prev parent reply other threads:[~2020-10-28 21:06 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-28 21:05 [PATCH 01/33] systemd-boot: upgrade 246.2 -> 246.6 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 02/33] glib-2.0: upgrade 2.64.5 -> 2.66.1 Alexander Kanavin
2020-10-29 3:51 ` [OE-core] " Khem Raj
2020-10-29 9:55 ` Alexander Kanavin
2020-10-29 20:13 ` Khem Raj
2020-10-28 21:05 ` [PATCH 03/33] cmake: update 3.18.2 -> 3.18.4 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 04/33] python3-pygobject: upgrade 3.36.1 -> 3.38.0 Alexander Kanavin
2020-10-28 21:56 ` [OE-core] " Khem Raj
2020-10-29 9:49 ` Alexander Kanavin
2020-10-29 20:12 ` Khem Raj
2020-10-28 21:05 ` [PATCH 05/33] libdazzle: upgrade 3.36.0 " Alexander Kanavin
2020-10-28 21:05 ` [PATCH 06/33] gobject-introspection: upgrade 1.64.1 -> 1.66.1 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 07/33] json-glib: upgrade 1.4.4 -> 1.6.0 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 08/33] ovmf: update edk2-stable202005 -> edk2-stable202008 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 09/33] gnu-config: update to latest revision Alexander Kanavin
2020-10-28 21:05 ` [PATCH 10/33] file: enable all built-in compression checkers Alexander Kanavin
2020-10-28 21:05 ` Alexander Kanavin [this message]
2020-10-31 22:30 ` [OE-core] [PATCH 11/33] rpm: update 4.15.1 -> 4.16.0 Khem Raj
2020-10-28 21:05 ` [PATCH 12/33] elfutils: update 0.180 -> 0.181 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 13/33] ghostscript: update 9.52 -> 9.53.3 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 14/33] ltp: update 20200515 -> 20200930 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 15/33] gsettings-desktop-schemas: update 3.36.1 -> 3.38.0 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 16/33] libsecret: update 0.20.3 -> 0.20.4 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 17/33] mesa: update 20.1.8 -> 20.2.1 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 18/33] xf86-video-vesa: update 2.4.0 -> 2.5.0 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 19/33] lttng-modules: update 2.12.2 -> 2.12.3 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 20/33] webkitgtk: update 2.28.4 -> 2.30.1 Alexander Kanavin
2020-11-06 2:42 ` [PATCH] webkitgtk: fix opengl PACKAGECONFIG Martin Jansa
2020-11-06 3:38 ` [PATCH] webkitgtk: fix build with x11 enabled Martin Jansa
2020-10-28 21:05 ` [PATCH 21/33] dos2unix: update 7.4.1 -> 7.4.2 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 22/33] gnutls: update 3.16.4 -> 3.16.5 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 23/33] libcap: update 2.43 -> 2.44 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 24/33] vte: update 0.60.3 -> 0.62.1 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 25/33] libhandy: upgrade 0.0.13 -> 1.0.0 Alexander Kanavin
2020-10-28 22:09 ` [OE-core] " Khem Raj
2020-10-29 9:49 ` Alexander Kanavin
2020-10-28 21:05 ` [PATCH 26/33] libportal: add a recipe Alexander Kanavin
2020-10-28 21:05 ` [PATCH 27/33] epiphany: upgrade 3.36.4 -> 3.38.1 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 28/33] gtk-doc: upgrade 1.32 -> 1.33.0 Alexander Kanavin
2020-10-28 21:05 ` [PATCH 29/33] rpm: adjust MIPS64 N32 support Alexander Kanavin
2020-10-28 21:05 ` [PATCH 30/33] apt: remove host contamination with gtest Alexander Kanavin
2020-10-28 21:05 ` [PATCH 31/33] opkg-utils: correct priority matching in update-alternatives Alexander Kanavin
2020-10-28 21:05 ` [PATCH 32/33] libxml2: add a patch to fix python 3.9 support Alexander Kanavin
2020-10-28 21:05 ` [PATCH 33/33] python: update 3.8.5 -> 3.9.0 Alexander Kanavin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201028210558.21070-11-alex.kanavin@gmail.com \
--to=alex.kanavin@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox