On Thursday, May 25, 2023 at 3:50:49 PM UTC+5:30 Jan Kiszka wrote: On 25.05.23 06:53, Srinuvasan Arjunan wrote: > > > On Monday, May 22, 2023 at 11:24:53 AM UTC+5:30 Jan Kiszka wrote: > > On 22.05.23 07:16, 'Jan Kiszka' via isar-users wrote: > > On 22.05.23 06:41, Srinuvasan Arjunan wrote: > >> From: Srinuvasan A > >> > >> In downstream layer we may override the sdk_toolchain, but this > not works as > >> expected in latest ISAR, the reason behind this as they moved > toolchain > >> selection into python Anonymous function. > > > > Dod you want to append or do you want to replac SDK_TOOLCHAIN in > > downstream? In the latter case, we likely rather want to make our > > assignment in isar weak, no? > > > > if not d.getVar('SDK_TOOLCHAIN'): > > ... > > > > Also to answer: Why is SDK_PREINSTALL insufficient for your > customization? > > Jan > > -- > Siemens AG, Technology > Competence Center Embedded Linux > > > > yes we can append our toolchain via SDK_PREINSTALL, but i need to > replace with the "crossbuild-essential-${COMPAT_DISTRO_ARCH}" , this one > comes via SDK_TOOLCHAIN variable, if i append " gcc-multilib > g++-multilib" without removing the crossbuild-essential am facing broken > package problem. > Logs: > > Broken gcc-multilib:amd64 Conflicts on gcc-10-i686-linux-gnu:amd64 < > none -> 10.2.1-6cross1 @un puN Ib > > | Considering gcc-10-i686-linux-gnu:amd64 1 as a solution to > gcc-multilib:amd64 10001 > | Investigating (0) gcc-10-i686-linux-gnu:amd64 < none -> > 10.2.1-6cross1 @un puN Ib > > > Eventually I need to remove crossbuild-essential, but this one will do > via SDK_TOOLCHAIN remove override , but this does not work in the > downstream layer, because always ISAR's python anonymous function wins > and set its value. Ok, then we should actually implement a weak (?=) assignment in the Python block, so that you can define your own SDK_TOOLCHAIN in such scenarios. Jan -- Siemens AG, Technology Competence Center Embedded Linux we can't do soft assignment inside pyhton anonymous function, it throws syntax error. Suppose if we want any parameter to override that should not be in python anonymous function, upstream layer should follow this one. we could write an python anonymous function in downstream layer to set the proper one, but in this case no use to inherit that functionality from upstream (duplication) In ISAR, this commit c8371018 moves the cross selection part into one place, here obviously we are not overriding the chroot (builchroot/sbuildchroot) part, but we may do override for toolchain selection, I hope we can pull out this toolchain selection from python function and keep it outside, hence this can be override from other layer. Thanks, Srinu.