diff mbox series

rpm: fix redudant slash remove and add extra cmake flag

Message ID 20250314122706.531626-1-artemiy.romanov@yadro.com
State New
Headers show
Series rpm: fix redudant slash remove and add extra cmake flag | expand

Commit Message

Artemiy Romanov March 14, 2025, 12:27 p.m. UTC
do_install:append() formats paths using sed in macro files incorrectly
causing resulting paths to have format 'usr/*' instead of  '/usr/*'.

Absence of debugedit in build-time depends results in incorrect expansion
of '%__find_debuginfo' in usr/lib/rpm/macro file which looks like this:

%__find_debuginfo	__FIND_DEBUGINFO-NOTFOUND

Adding debugedit-native in DEPENDS affects performance, so better
solution is passing extra argument to cmake build call via EXTRA_OECMAKE
variable which fixes the problem:

%__find_debuginfo	/usr/bin/find-debuginfo

Signed-off-by: Artemiy Romanov <artemiy.romanov@yadro.com>
---
 meta/recipes-devtools/rpm/rpm_4.20.0.bb | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/rpm/rpm_4.20.0.bb b/meta/recipes-devtools/rpm/rpm_4.20.0.bb
index 281fde1c82..cf01335799 100644
--- a/meta/recipes-devtools/rpm/rpm_4.20.0.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.20.0.bb
@@ -57,6 +57,8 @@  EXTRA_OECMAKE:append:libc-musl = " -DENABLE_NLS=OFF -DENABLE_OPENMP=OFF"
 EXTRA_OECMAKE:append:class-native = " -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=/var"
 EXTRA_OECMAKE:append:class-nativesdk = " -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc -DCMAKE_INSTALL_FULL_SYSCONFDIR=/etc"
 
+EXTRA_OECMAKE:append = " -D__FIND_DEBUGINFO=${bindir}/find-debuginfo"
+
 inherit cmake gettext pkgconfig python3targetconfig
 OECMAKE_GENERATOR = "Unix Makefiles"
 
@@ -131,10 +133,10 @@  do_install:append:class-nativesdk() {
 }
 
 do_install:append () {
-	sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
-            -e 's:${STAGING_DIR_NATIVE}/::g' \
+	sed -i -e 's:${HOSTTOOLS_DIR}::g' \
+            -e 's:${STAGING_DIR_NATIVE}::g' \
 	    ${D}/${libdir}/rpm/macros
-	sed -i -e 's:${RECIPE_SYSROOT}/::g' \
+	sed -i -e 's:${RECIPE_SYSROOT}::g' \
 	    ${D}/${libdir}/cmake/rpm/rpm-targets.cmake
 
 }