mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
rpm: 4.20.0 -> 4.20.1
* Rebased: 0001-When-cross-installing-execute-package-scriptlets-wit.patch 0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch * Removed the one which already merged: 0001-Set-RPM_PLUGINDIR-in-top-level-CMakeLists.txt.patch * Added a patch to fix rpm-native build error: gcc: error: unrecognized command-line option -fhardened 0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch * License-Update: Minor formatting changes as the commit messages said in 41143b27b6f7320f280aea6014e8f532eb0239d6 (From OE-Core rev: 5d25e1ba4d8850e2c281fc7f24493239bf2f9866) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
140fde4c34
commit
bcf6af00f4
|
@ -0,0 +1,58 @@
|
|||
From 19f7ef341f19ac5594c7d0113f9eb8224934464a Mon Sep 17 00:00:00 2001
|
||||
From: Robert Yang <liezhi.yang@windriver.com>
|
||||
Date: Sun, 8 Jun 2025 00:19:06 -0700
|
||||
Subject: [PATCH] CMakeLists.txt: Fix checking for CFLAGS
|
||||
|
||||
The previous code doesn't work because the check_c_compiler_flag() only ran
|
||||
once because 'found' is in CACHE, here is log:
|
||||
-- Performing Test found
|
||||
-- Performing Test found - Success
|
||||
|
||||
That would result in:
|
||||
* All the flags are added when the first one works
|
||||
* None of the flags is added when the first one doesn't work
|
||||
|
||||
We can use "unset(found CACHE)" to fix that, but the log is still not clear:
|
||||
-- Performing Test found
|
||||
-- Performing Test found - Success
|
||||
-- Performing Test found
|
||||
-- Performing Test found - Success
|
||||
-- Performing Test found
|
||||
-- Performing Test found - Failed
|
||||
|
||||
Use a new var SUPPORTS_${flag} will make it more clear:
|
||||
-- Performing Test SUPPORTS_-fno-strict-overflow
|
||||
-- Performing Test SUPPORTS_-fno-strict-overflow - Success
|
||||
-- Performing Test SUPPORTS_-fno-delete-null-pointer-checks
|
||||
-- Performing Test SUPPORTS_-fno-delete-null-pointer-checks - Success
|
||||
-- Performing Test SUPPORTS_-fhardened
|
||||
-- Performing Test SUPPORTS_-fhardened - Failed
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/3796]
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
---
|
||||
CMakeLists.txt | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 08e3e5274..a7566ab5a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -416,11 +416,10 @@ endif()
|
||||
|
||||
# try to ensure some compiler sanity and hardening options where supported
|
||||
foreach (flag -fno-strict-overflow -fno-delete-null-pointer-checks -fhardened)
|
||||
- check_c_compiler_flag(${flag} found)
|
||||
- if (found)
|
||||
+ check_c_compiler_flag(${flag} SUPPORTS_${flag})
|
||||
+ if (SUPPORTS_${flag})
|
||||
add_compile_options(${flag})
|
||||
endif()
|
||||
- unset(found)
|
||||
endforeach()
|
||||
|
||||
# generated sources
|
||||
--
|
||||
2.49.0
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
From 2d6beb620896a59cfd685b51a19057e5c5c4ab41 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Thu, 19 Dec 2024 11:54:54 +0800
|
||||
Subject: [PATCH] Set RPM_PLUGINDIR in top level CMakeLists.txt
|
||||
|
||||
We have in macros.in:
|
||||
%__plugindir @RPM_PLUGINDIR@
|
||||
|
||||
This means, if RPM_PLUGINDIR is not set, %__plugindir will be empty.
|
||||
This in turn results in error message when running 'dnf'.
|
||||
|
||||
e.g.,
|
||||
dnf --help >/dev/null
|
||||
error: /usr/lib64/rpm/macros: line 1183: Macro %__plugindir has empty body
|
||||
error: /usr/lib64/rpm/macros: line 1183: Macro %__plugindir has empty body
|
||||
|
||||
So we should move this directory setting into the top level CMakeLists.txt.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/3496]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
CMakeLists.txt | 3 +++
|
||||
plugins/CMakeLists.txt | 3 ---
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 758ba73f4..e694b9650 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -453,6 +453,9 @@ if (ENABLE_PYTHON)
|
||||
add_subdirectory(python)
|
||||
endif()
|
||||
|
||||
+set(RPM_PLUGINDIR ${CMAKE_INSTALL_FULL_LIBDIR}/rpm-plugins
|
||||
+ CACHE PATH "rpm plugin directory")
|
||||
+
|
||||
if (ENABLE_PLUGINS)
|
||||
add_subdirectory(plugins)
|
||||
endif()
|
||||
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
|
||||
index a44056fe3..6e61a7c20 100644
|
||||
--- a/plugins/CMakeLists.txt
|
||||
+++ b/plugins/CMakeLists.txt
|
||||
@@ -42,9 +42,6 @@ if (HAVE_UNSHARE)
|
||||
add_library(unshare MODULE unshare.c)
|
||||
endif()
|
||||
|
||||
-set(RPM_PLUGINDIR ${CMAKE_INSTALL_FULL_LIBDIR}/rpm-plugins
|
||||
- CACHE PATH "rpm plugin directory")
|
||||
-
|
||||
get_property(plugins DIRECTORY PROPERTY BUILDSYSTEM_TARGETS)
|
||||
foreach(plugin ${plugins})
|
||||
target_link_libraries(${plugin} PRIVATE librpmio librpm ${Intl_LIBRARIES})
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -24,15 +24,18 @@ Amended 2018-07-03 by Olof Johansson <olofjn@axis.com>:
|
|||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
Rebased to 4.20.1
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
---
|
||||
lib/rpmscript.c | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
lib/rpmscript.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/rpmscript.c b/lib/rpmscript.c
|
||||
index 097c9055a..060fd8124 100644
|
||||
index eb14870b3..1785e8f30 100644
|
||||
--- a/lib/rpmscript.c
|
||||
+++ b/lib/rpmscript.c
|
||||
@@ -447,8 +447,7 @@ exit:
|
||||
@@ -456,8 +456,7 @@ exit:
|
||||
Fclose(out); /* XXX dup'd STDOUT_FILENO */
|
||||
|
||||
if (fn) {
|
||||
|
@ -42,18 +45,17 @@ index 097c9055a..060fd8124 100644
|
|||
free(fn);
|
||||
}
|
||||
free(mline);
|
||||
@@ -482,7 +481,13 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd,
|
||||
@@ -491,7 +490,13 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd,
|
||||
|
||||
if (rc != RPMRC_FAIL) {
|
||||
if (script_type & RPMSCRIPTLET_EXEC) {
|
||||
- rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
|
||||
+ if (getenv("RPM_NO_CHROOT_FOR_SCRIPTS") != NULL) {
|
||||
+ rpmChrootOut();
|
||||
+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
|
||||
+ rpmChrootIn();
|
||||
+ rpmChrootOut();
|
||||
rc = runExtScript(plugins, prefixes, script, lvl, scriptFd, &args, arg1, arg2);
|
||||
+ rpmChrootIn();
|
||||
+ } else {
|
||||
+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
|
||||
+ rc = runExtScript(plugins, prefixes, script, lvl, scriptFd, &args, arg1, arg2);
|
||||
+ }
|
||||
} else {
|
||||
rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc);
|
||||
rc = runLuaScript(plugins, prefixes, script, lvl, scriptFd, &args, arg1, arg2);
|
||||
}
|
||||
|
|
|
@ -9,15 +9,18 @@ irrelevant noise to rootfs logs.
|
|||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
Rebased to 4.20.1
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
---
|
||||
lib/rpmscript.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/rpmscript.c b/lib/rpmscript.c
|
||||
index 4dc6466a8..6d3c19d01 100644
|
||||
index e9f288ae0..f0c628708 100644
|
||||
--- a/lib/rpmscript.c
|
||||
+++ b/lib/rpmscript.c
|
||||
@@ -290,7 +290,7 @@ static char * writeScript(const char *cmd, const char *script)
|
||||
@@ -299,7 +299,7 @@ static char * writeScript(const char *cmd, const char *script)
|
||||
if (Ferror(fd))
|
||||
goto exit;
|
||||
|
||||
|
@ -26,30 +29,30 @@ index 4dc6466a8..6d3c19d01 100644
|
|||
static const char set_x[] = "set -x\n";
|
||||
/* Assume failures will be caught by the write below */
|
||||
Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd);
|
||||
@@ -322,7 +322,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
|
||||
@@ -330,7 +330,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
|
||||
char *mline = NULL;
|
||||
rpmRC rc = RPMRC_FAIL;
|
||||
|
||||
- rpmlog(RPMLOG_DEBUG, "%s: scriptlet start\n", sname);
|
||||
+ rpmlog(RPMLOG_INFO, "%s: scriptlet start\n", sname);
|
||||
- rpmlog(RPMLOG_DEBUG, "%s: scriptlet start\n", script->descr);
|
||||
+ rpmlog(RPMLOG_INFO, "%s: scriptlet start\n", script->descr);
|
||||
|
||||
if (script) {
|
||||
fn = writeScript(*argvp[0], script);
|
||||
@@ -374,7 +374,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
|
||||
sname, strerror(errno));
|
||||
if (script->body) {
|
||||
fn = writeScript(*argvp[0], script->body);
|
||||
@@ -382,7 +382,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
|
||||
script->descr, strerror(errno));
|
||||
goto exit;
|
||||
} else if (pid == 0) {/* Child */
|
||||
- rpmlog(RPMLOG_DEBUG, "%s: execv(%s) pid %d\n",
|
||||
+ rpmlog(RPMLOG_INFO, "%s: execv(%s) pid %d\n",
|
||||
sname, *argvp[0], (unsigned)getpid());
|
||||
script->descr, *argvp[0], (unsigned)getpid());
|
||||
|
||||
fclose(in);
|
||||
@@ -417,7 +417,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
|
||||
@@ -426,7 +426,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
|
||||
reaped = waitpid(pid, &status, 0);
|
||||
} while (reaped == -1 && errno == EINTR);
|
||||
|
||||
- rpmlog(RPMLOG_DEBUG, "%s: waitpid(%d) rc %d status %x\n",
|
||||
+ rpmlog(RPMLOG_INFO, "%s: waitpid(%d) rc %d status %x\n",
|
||||
sname, (unsigned)pid, (unsigned)reaped, status);
|
||||
script->descr, (unsigned)pid, (unsigned)reaped, status);
|
||||
|
||||
if (reaped < 0) {
|
||||
|
|
|
@ -22,7 +22,7 @@ HOMEPAGE = "http://www.rpm.org"
|
|||
|
||||
# libraries are also LGPL - how to express this?
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=066ecde17828e5c8911ec9eae8be78f4"
|
||||
|
||||
SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.20.x;protocol=https \
|
||||
file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
|
||||
|
@ -38,11 +38,11 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.20.x;protoc
|
|||
file://0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch \
|
||||
file://0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch \
|
||||
file://0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch \
|
||||
file://0001-Set-RPM_PLUGINDIR-in-top-level-CMakeLists.txt.patch \
|
||||
file://0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch \
|
||||
"
|
||||
|
||||
PE = "1"
|
||||
SRCREV = "b3323786668cf99bc9aed7e60ccdab0bc25e19da"
|
||||
SRCREV = "c8dc5ea575a2e9c1488036d12f4b75f6a5a49120"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
Loading…
Reference in New Issue
Block a user