From: Hongxu Jia Date: Mon, 14 Jul 2025 04:41:17 +0000 (+0800) Subject: rpm: keep leading `/' from sed operation X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d0773879ab9520c475c4a8c930b2e663de0e032;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git rpm: keep leading `/' from sed operation For /usr/lib/rpm/macros, Yocto explicitly set OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY" [1][2] to search tools from CMAKE_FIND_ROOT_PATH [5] which locates in native recipe sysroot or HOSTTOOLS_DIR. If found in native recipe sysroot or HOSTTOOLS_DIR, the sed operation removed leading `/' root@qemux86-64:~# vi /usr/lib/rpm/macros ... %__xz usr/bin/xz %__make usr/bin/make %__zstd usr/bin/zstd %__quilt usr/bin/quilt %__patch usr/bin/patch ... root@qemux86-64:~# rpm --eval "%{__xz} %{__make} %{__zstd} %{__quilt} %{__patch}" usr/bin/xz usr/bin/make usr/bin/zstd usr/bin/quilt usr/bin/patch This commit keeps leading `/' from sed operation, and similar reason for /usr/lib/cmake/rpm/rpm-targets.cmake After applying this commit: root@qemux86-64:~# rpm --eval "%{__xz} %{__make} %{__zstd} %{__quilt} %{__patch}" /usr/bin/xz /usr/bin/make /usr/bin/zstd /usr/bin/quilt /usr/bin/patch [1] https://git.openembedded.org/openembedded-core/commit/?id=f4ea12f6635125ee793f4dd801c538c0186f9dc3 [2] https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.html Signed-off-by: Hongxu Jia Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/rpm/rpm_4.20.1.bb b/meta/recipes-devtools/rpm/rpm_4.20.1.bb index dc4cfd4abb..ba967ec1fa 100644 --- a/meta/recipes-devtools/rpm/rpm_4.20.1.bb +++ b/meta/recipes-devtools/rpm/rpm_4.20.1.bb @@ -141,10 +141,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 }