<div dir="ltr"><div>Thanks, I think this looks more or less correct now.</div><div><br></div><div>Alex<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 12 Sep 2019 at 09:53, Zheng Ruoqin <<a href="mailto:zhengrq.fnst@cn.fujitsu.com">zhengrq.fnst@cn.fujitsu.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">We need to configure rpm to use package architecture from yocto build system.<br>
<br>
Install rpmrc and rpm/platform to ${SDKTARGETSYSROOT} because config file in host-sysroot as /opt/poky/2.7+snapshot/sysroots/x86_64-pokysdk-linux will be covered by another ARCH which result in previous config settings inefficacy.<br>
<br>
To resolve it, put config file in target-sysroot like /opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux. As each ARCH has its own target-sysroot, config file will not be covered.<br>
<br>
Signed-off-by: Zheng Ruoqin <<a href="mailto:zhengrq.fnst@cn.fujitsu.com" target="_blank">zhengrq.fnst@cn.fujitsu.com</a>><br>
---<br>
meta/recipes-devtools/rpm/<a href="http://rpm_4.14.2.1.bb" rel="noreferrer" target="_blank">rpm_4.14.2.1.bb</a> | 16 ++++++++++++++++<br>
1 file changed, 16 insertions(+)<br>
<br>
diff --git a/meta/recipes-devtools/rpm/<a href="http://rpm_4.14.2.1.bb" rel="noreferrer" target="_blank">rpm_4.14.2.1.bb</a> b/meta/recipes-devtools/rpm/<a href="http://rpm_4.14.2.1.bb" rel="noreferrer" target="_blank">rpm_4.14.2.1.bb</a><br>
index 063f4269a5..5634f6702f 100644<br>
--- a/meta/recipes-devtools/rpm/<a href="http://rpm_4.14.2.1.bb" rel="noreferrer" target="_blank">rpm_4.14.2.1.bb</a><br>
+++ b/meta/recipes-devtools/rpm/<a href="http://rpm_4.14.2.1.bb" rel="noreferrer" target="_blank">rpm_4.14.2.1.bb</a><br>
@@ -102,6 +102,9 @@ do_install_append_class-native() {<br>
done<br>
}<br>
<br>
+REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}-${DISTRO}-${TARGET_OS}"<br>
+SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"<br>
+<br>
do_install_append_class-nativesdk() {<br>
for tool in ${WRAPPER_TOOLS}; do<br>
create_wrapper ${D}$tool \<br>
@@ -112,6 +115,17 @@ do_install_append_class-nativesdk() {<br>
done<br>
<br>
rm -rf ${D}/var<br>
+ install -d ${D}/${SDKTARGETSYSROOT}/etc/rpm<br>
+<br>
+ cat >${D}/${SDKTARGETSYSROOT}/etc/rpmrc <<EOF<br>
+arch_compat: ${MACHINE_ARCH}: all any noarch ${PACKAGE_EXTRA_ARCHS}<br>
+EOF<br>
+<br>
+# Arch Info should be fixed as '-' is instead of '_'.<br>
+ sed -i 's/-/_/' ${D}/${SDKTARGETSYSROOT}/etc/rpmrc<br>
+ cat >${D}/${SDKTARGETSYSROOT}/etc/rpm/platform <<EOF<br>
+${MACHINE_ARCH}-pc-linux<br>
+EOF<br>
}<br>
<br>
# Rpm's make install creates var/tmp which clashes with base-files packaging<br>
@@ -133,6 +147,8 @@ FILES_${PN} += "${libdir}/rpm-plugins/*.so \<br>
<br>
FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \<br>
"<br>
+FILES_${PN}_append_class-nativesdk += "${SDKTARGETSYSROOT}"<br>
+<br>
<br>
PACKAGES += "python3-rpm"<br>
PROVIDES += "python3-rpm"<br>
-- <br>
2.17.1<br>
<br>
<br>
<br>
-- <br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div>