Ping.
On Sun, Nov 12, 2023 at 07:07:43PM +0000, Denys Dmytriyenko wrote: > From: Denys Dmytriyenko <[email protected]> > > This k3r5 multiconfig builds baremetal components (and corresponding native, > nativesdk and cross tools) and sets TCLIBC accordingly to "baremetal". The > expectation is that those components and tools will use a separate TMPDIR > to isolate from the main Linux build that uses "glibc" TCLIBC and to avoid > potential conflicts. > > OE-Core "nodistro" default configuration already sets TCLIBCAPPEND facility > to automatically add a suffix to TMPDIR, resulting in "tmp-baremetal" temp > directory for this multiconfig and "tmp-glibc" for the main Linux one. Other > distros like Arago follow this convention and even extend a bit (e.g. Arago > also adds TCMODE suffix to TMPDIR for external toolchain support separation). > > But Poky (and derivative distros, like AGL or YoE) disable TCLIBCAPPEND and > result in a combined TMPDIR, leading to potential conflicts, such as: > https://bugzilla.yoctoproject.org/show_bug.cgi?id=15273 > > And that's just the beginning, there were other conflicts observed later in > the build, e.g. during nativesdk builds - that's why we also set a unique > SDKPKGSUFFIX here. > > To force a separate TMPDIR for k3r5 multiconfig, we have to directly append > a suffix to it. Multiple other options were tested in hopes of making it > slightly cleaner, but they either didn't work or were dismissed. For example, > trying to override TCLIBCAPPEND getting cleared by a distro would require > using a machine/soc-override, which doesn't have enough scope (nativesdk) > or forcing it with :forcevariable would also change the main Linux TMPDIR > and affect existing CI flows. Also, using TCLIBC itself as a suffix to add > to TMPDIR may result in getting it appended twice (tmp-baremetal-baremetal) > when normal TCLIBCAPPEND facility is used. Hence the least invasive/confusing > option is to always append "-k3r5" suffix to this multiconfig TMPDIR. That > results in "tmp-k3r5" in Poky (leaving main TMPDIR as "tmp"), while OE-Core > "nodistro" and Arago would end up with "tmp-baremetal-k3r5" (and "tmp-glibc" > for the main). > > Also note, meta-ti-bsp layer.conf sets up images and sdks to be deployed > into a common location outside of TMPDIRs, but TI_COMMON_DEPLOY variable > that controls it is set weakly, allowing to be modified from a distro > configuration or local.conf. It means that all images and sdks can be > deployed into the main TMPDIR if one's CI flow expects tmp/deploy/ as > the final destination, by using := for immediate variable expansion: > TI_COMMON_DEPLOY := "${TMPDIR}/deploy" > > Signed-off-by: Denys Dmytriyenko <[email protected]> > --- > meta-ti-bsp/conf/multiconfig/k3r5.conf | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf > b/meta-ti-bsp/conf/multiconfig/k3r5.conf > index 04b9a746..e36c87ed 100644 > --- a/meta-ti-bsp/conf/multiconfig/k3r5.conf > +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf > @@ -4,4 +4,6 @@ DEPLOY_DIR_IMAGE:k3r5 = > "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" > > MACHINE:append = "-k3r5" > TCLIBC = "baremetal" > +TMPDIR:append = "-k3r5" > + > SDKPKGSUFFIX = "k3r5-nativesdk" > -- > 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#17316): https://lists.yoctoproject.org/g/meta-ti/message/17316 Mute This Topic: https://lists.yoctoproject.org/mt/102547765/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/leave/6695321/21656/1393940836/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
