LLVMVERSION itself wasn't being dropped, only the PREFERRED_VERSION setting
that uses it.

But I'd agree with the broader point; it's better for devtool to print a
warning on upgrades that PREFERRED_VERSION needs to be adjusted (if it's
set) before any further steps.

Alex

On Wed, 14 Jul 2021 at 19:36, Khem Raj <[email protected]> wrote:

>
>
> On 7/14/21 9:26 AM, Richard Purdie wrote:
> > On Wed, 2021-07-14 at 16:14 +0200, Alexander Kanavin wrote:
> >> oe-core has not been providing multiple versions for any of these items
> >> for a long time, it's not likely to change anytime soon, and it makes
> >> automated (or semi-automated) versions updates with devtool impossible,
> >> as PREFERRED_VERSION masks the updated recipe in devtool workspace.
> >>
> >> Specifically, this was prompted by investigating why automated llvm
> update
> >> doesn't work; it does now.
> >>
> >> v2: GCC is excluded as overriding the version through GCCVERSION is used
> >> across several layers, and the list of things to override is large.
> >>
> >> v3: exclude linux-libc-headers too, as that is using a separate update
> >> process without involving devtool.
> >>
> >> Signed-off-by: Alexander Kanavin <[email protected]>
> >> ---
> >>   meta/conf/distro/include/tcmode-default.inc | 36 ---------------------
> >>   1 file changed, 36 deletions(-)
> >>
> >> diff --git a/meta/conf/distro/include/tcmode-default.inc
> b/meta/conf/distro/include/tcmode-default.inc
> >> index 1d4aa1e11f..e655bd85ce 100644
> >> --- a/meta/conf/distro/include/tcmode-default.inc
> >> +++ b/meta/conf/distro/include/tcmode-default.inc
> >> @@ -18,12 +18,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
> >>
> >>
> >>
> >>
> >>   GCCVERSION ?= "11.%"
> >>   SDKGCCVERSION ?= "${GCCVERSION}"
> >> -BINUVERSION ?= "2.36%"
> >> -GDBVERSION ?= "10.%"
> >> -GLIBCVERSION ?= "2.33"
> >>   LINUXLIBCVERSION ?= "5.13%"
> >> -QEMUVERSION ?= "6.0%"
> >> -GOVERSION ?= "1.16%"
> >>   # This can not use wildcards like 8.0.% since it is also used in mesa
> to denote
> >>   # llvm version being used, so always bump it with llvm recipe version
> bump
> >>   LLVMVERSION ?= "12.0.1"
> >> @@ -42,42 +37,11 @@ PREFERRED_VERSION_libgfortran ?= "${GCCVERSION}"
> >>   PREFERRED_VERSION_nativesdk-gcc ?= "${SDKGCCVERSION}"
> >>   PREFERRED_VERSION_nativesdk-libgcc ?= "${SDKGCCVERSION}"
> >>   PREFERRED_VERSION_nativesdk-libgcc-initial ?= "${SDKGCCVERSION}"
> >> -PREFERRED_VERSION_binutils ?= "${BINUVERSION}"
> >> -PREFERRED_VERSION_binutils-native ?= "${BINUVERSION}"
> >> -PREFERRED_VERSION_binutils-cross-${TARGET_ARCH} ?= "${BINUVERSION}"
> >> -PREFERRED_VERSION_binutils-crosssdk-${SDK_SYS} ?= "${BINUVERSION}"
> >> -PREFERRED_VERSION_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} ?=
> "${BINUVERSION}"
> >> -PREFERRED_VERSION_gdb ?= "${GDBVERSION}"
> >> -PREFERRED_VERSION_gdb-cross-${TARGET_ARCH} ?= "${GDBVERSION}"
> >> -PREFERRED_VERSION_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} ?=
> "${GDBVERSION}"
> >>
> >>
> >>
> >>
> >>   PREFERRED_VERSION_linux-libc-headers ?= "${LINUXLIBCVERSION}"
> >>   PREFERRED_VERSION_nativesdk-linux-libc-headers ?=
> "${LINUXLIBCVERSION}"
> >> -PREFERRED_VERSION_glibc                    ?= "${GLIBCVERSION}"
> >> -PREFERRED_VERSION_glibc-locale             ?= "${GLIBCVERSION}"
> >> -PREFERRED_VERSION_glibc-mtrace             ?= "${GLIBCVERSION}"
> >> -PREFERRED_VERSION_glibc-scripts            ?= "${GLIBCVERSION}"
> >> -PREFERRED_VERSION_nativesdk-glibc          ?= "${GLIBCVERSION}"
> >> -PREFERRED_VERSION_cross-localedef-native   ?= "${GLIBCVERSION}"
> >> -
> >> -PREFERRED_VERSION_qemu ?= "${QEMUVERSION}"
> >> -PREFERRED_VERSION_qemu-native ?= "${QEMUVERSION}"
> >> -PREFERRED_VERSION_nativesdk-qemu ?= "${QEMUVERSION}"
> >>
> >>
> >>
> >>
> >>   # Bootstrap Go using a binary release from golang.org.  If you want
> to bootstrap
> >>   # from source using the C-implemented Go 1.4 (only supports x86-64
> hosts) then use
> >>   # go-native.
> >>   PREFERRED_PROVIDER_go-native ?= "go-binary-native"
> >> -PREFERRED_VERSION_virtual/${TARGET_PREFIX}go ?= "${GOVERSION}"
> >> -PREFERRED_VERSION_go-cross-${TUNE_PKGARCH} ?= "${GOVERSION}"
> >> -PREFERRED_VERSION_go-crosssdk-${SDK_ARCH} ?= "${GOVERSION}"
> >> -PREFERRED_VERSION_go-cross-canadian-${TRANSLATED_TARGET_ARCH} ?=
> "${GOVERSION}"
> >> -PREFERRED_VERSION_go ?= "${GOVERSION}"
> >> -PREFERRED_VERSION_go-native ?= "${GOVERSION}"
> >> -PREFERRED_VERSION_go-runtime ?= "${GOVERSION}"
> >> -PREFERRED_VERSION_nativesdk-go ?= "${GOVERSION}"
> >> -PREFERRED_VERSION_nativesdk-go-runtime ?= "${GOVERSION}"
> >> -
> >> -PREFERRED_VERSION_llvm = "${LLVMVERSION}"
> >> -PREFERRED_VERSION_llvm-native = "${LLVMVERSION}"
> >> -PREFERRED_VERSION_nativesdk-llvm = "${LLVMVERSION}"
> >
> > $ grep LLVMVERSION * -R
> > classes/meson.bbclass.orig:llvm-config = 'llvm-config${LLVMVERSION}'
> > classes/meson.bbclass:llvm-config = 'llvm-config${LLVMVERSION}'
> >
> > which is why we have LLVMVERSION. I'm sure some other layer breaks if we
> > don't do this.
> >
> > To be honest I think this starts to look like we can drop qemu and
> > not much else, the rest have many different related providers and
> > are pretty toolchain like where it is hard to guess what the form the
> > variables should take. That was the design purpose of the tcmode
> > include file. Most of those components wouldn't likely work with
> > devtool upgrade anyway and would need more careful handling.
> >
>
> honestly, this will cause more pain than what it is solving, eg.
> meta-clang also uses LLVMVERSION to override oe-core provided version
> and mesa depends on it too. The purpose of these variables was to let
> users swap out toolchains which are consisting of multiple different
> components/recipes and they may not know the whole chain that needs to
> be replaced. This patch takes us back to where we were few years ago. I
> would like to understand what issue does this patch solve that we are
> willing to break external layers for.
>
> > Cheers,
> >
> > Richard
> >
> >
> >
> > 
> >
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#153861): 
https://lists.openembedded.org/g/openembedded-core/message/153861
Mute This Topic: https://lists.openembedded.org/mt/84202442/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to