<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 &lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com">zhengrq.fnst@cn.fujitsu.com</a>&gt; 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 &lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com" target="_blank">zhengrq.fnst@cn.fujitsu.com</a>&gt;<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 = &quot;${TUNE_PKGARCH}-${DISTRO}-${TARGET_OS}&quot;<br>
+SDKTARGETSYSROOT = &quot;${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}&quot;<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 &gt;${D}/${SDKTARGETSYSROOT}/etc/rpmrc &lt;&lt;EOF<br>
+arch_compat: ${MACHINE_ARCH}: all any noarch ${PACKAGE_EXTRA_ARCHS}<br>
+EOF<br>
+<br>
+# Arch Info should be fixed as &#39;-&#39; is instead of &#39;_&#39;.<br>
+        sed -i &#39;s/-/_/&#39; ${D}/${SDKTARGETSYSROOT}/etc/rpmrc<br>
+        cat &gt;${D}/${SDKTARGETSYSROOT}/etc/rpm/platform &lt;&lt;EOF<br>
+${MACHINE_ARCH}-pc-linux<br>
+EOF<br>
 }<br>
<br>
 # Rpm&#39;s make install creates var/tmp which clashes with base-files packaging<br>
@@ -133,6 +147,8 @@ FILES_${PN} += &quot;${libdir}/rpm-plugins/*.so \<br>
<br>
 FILES_${PN}-dev += &quot;${libdir}/rpm-plugins/*.la \<br>
                     &quot;<br>
+FILES_${PN}_append_class-nativesdk += &quot;${SDKTARGETSYSROOT}&quot;<br>
+<br>
<br>
 PACKAGES += &quot;python3-rpm&quot;<br>
 PROVIDES += &quot;python3-rpm&quot;<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>