Hi Alex

I’d like to explain it.

->Why not simply ${D}/etc/rpm?


As you see, ${SDKTARGETSYSROOT} for x86_64 is 
/opt/poky/2.7+snapshot/sysroots/core2-64-pokysdk-linux.



I make it because config file in host-sysroot as 
/opt/poky/2.7+snapshot/sysroots/x86_64-pokysdk-linux  will be covered by 
another ARCH.

For example, first install SDK for x86_64, and next install SDK for x86, as 
host-sysroot is same, the same config file will be covered. In that case config 
settings for x86_64 will be inefficacy.



To resolve that problem, I 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.


That was also why I put config file in meta-environment in last patch.

->What do these two sed commands do? If we create /etc/rpmrc just above, can it 
have the right content from the beginning?

Well, in the environment in Yocto Build system, the value of ${PACKAGE_ARCHS} 
include “–nativesdk” as not needed in SDK environment.
And the ARCH name of core2-64 rpm is core2_64 like rpm-4.14.2.1-r0.core2_64.rpm.
So I modify the ARCH name in etc/rpmrc.

--------------------------------------------------
Zheng Ruoqin
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
ADDR.: No.6 Wenzhu Road, Software Avenue,
       Nanjing, 210012, China
MAIL : zhengrq.f...@cn.fujistu.com

From: Alexander Kanavin [mailto:alex.kana...@gmail.com]
Sent: Monday, September 09, 2019 7:07 PM
To: Zheng, Ruoqin/郑 若钦 <zhengrq.f...@cn.fujitsu.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] rpm: make rpm work in toolchain.

On Mon, 9 Sep 2019 at 12:58, Zheng Ruoqin 
<zhengrq.f...@cn.fujitsu.com<mailto:zhengrq.f...@cn.fujitsu.com>> wrote:
         rm -rf ${D}/var
+        install -d ${D}/${SDKTARGETSYSROOT}/etc/rpm

Why not simply ${D}/etc/rpm?

+        sed -i 's/-nativesdk//g' ${D}/${SDKTARGETSYSROOT}/etc/rpmrc
+        sed -i 's/-/_/' ${D}/${SDKTARGETSYSROOT}/etc/rpmrc

What do these two sed commands do? If we create /etc/rpmrc just above, can it 
have the right content from the beginning?
                      "
+FILES_${PN}_append_class-nativesdk += "${SDKTARGETSYSROOT}"

Same question: why is ${SDKTARGETSYSROOT} needed? The configuration files 
should be in /etc, and rpm should be instructed to pick them up from there, 
same way as it is done for -native variant when building an image.

Alex


-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to